为什么我不能将对象附加到 rethinkdb 中的数组?
Why can't I append an object to an array in rethinkdb?
我正在尝试将对象附加到 rethink
中的数组中。这是我尝试附加它的方式:
rethink.table('shifts')
.get(shiftId)
.update(row => row("milestones").default([]).append({
dateAchieved: "2017-01-01",
phaseType: "TEST"
})).run(rethinkConnection)
我得到的错误是:
first_error: 'Inserted value must be an OBJECT (got ARRAY):\n[\n\t{\n\t\t"dateAchieved":\t"2017-01-01",\n\t\t"phaseType":\t"TEST"\n\t}\n]',
我也尝试了相同的代码,但删除了 .default([])
,这并没有改变任何东西。
我试过注销 row('milestones')
是什么,结果是这样的:
var_15("milestone")
我期待看到一个数组。将对象添加到数组还需要什么?我该怎么做?
您需要使用文档而不是数组来更新文档。你的要求应该是这样的
rethink.table('shifts')
.get(shiftId)
.update({
milestones: rethink.row('milestones').append({
dateAchieved: "2017-01-01",
phaseType: "TEST"
})
})
.run(rethinkConnection)
这是因为 .append
命令不会将数据提交到数据库,它只是 returns 内存中修改的数组
我正在尝试将对象附加到 rethink
中的数组中。这是我尝试附加它的方式:
rethink.table('shifts')
.get(shiftId)
.update(row => row("milestones").default([]).append({
dateAchieved: "2017-01-01",
phaseType: "TEST"
})).run(rethinkConnection)
我得到的错误是:
first_error: 'Inserted value must be an OBJECT (got ARRAY):\n[\n\t{\n\t\t"dateAchieved":\t"2017-01-01",\n\t\t"phaseType":\t"TEST"\n\t}\n]',
我也尝试了相同的代码,但删除了 .default([])
,这并没有改变任何东西。
我试过注销 row('milestones')
是什么,结果是这样的:
var_15("milestone")
我期待看到一个数组。将对象添加到数组还需要什么?我该怎么做?
您需要使用文档而不是数组来更新文档。你的要求应该是这样的
rethink.table('shifts')
.get(shiftId)
.update({
milestones: rethink.row('milestones').append({
dateAchieved: "2017-01-01",
phaseType: "TEST"
})
})
.run(rethinkConnection)
这是因为 .append
命令不会将数据提交到数据库,它只是 returns 内存中修改的数组