我正在尝试将对象追加到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")
我期待看到一个阵列。将对象添加到数组还需要什么?我如何使这项工作?
答案 0 :(得分:2)
您需要使用不是数组的文档更新文档。你的reql应该是这样的
rethink.table('shifts')
.get(shiftId)
.update({
milestones: rethink.row('milestones').append({
dateAchieved: "2017-01-01",
phaseType: "TEST"
})
})
.run(rethinkConnection)
这是因为.append
命令不向数据库提交数据,它只返回内存修改后的数组