我想在现有文档中添加一个新对象。因此,我先获取过去的详细信息,然后将其放入insert语句中,但是当我只想要键值对时,它将作为对象数组存储。
router.post("/insertApprovers", (req, res) => {
console.log("inside insertApprovers");
let id = req.body.data.id;
let approvers = JSON.parse(req.body.data.approv);
db.find({ selector: { _id: id } }, async function(err, result) {
if (err) return console.log(err.message);
console.log("Find completed: " + JSON.stringify(result.docs));
let restData = result.docs[0];
await db.insert(
{
_id: id,
restData,
approvers: approvers,
_rev: result.docs[0]._rev
},
function(err, data) {
if (err) return console.log(err.message);
console.log("Insert completed: " + data);
}
);
});
});
该图显示了更新后如何存储我的数据:
这可能有效:
router.post("/insertApprovers", (req, res) => {
console.log("inside insertApprovers");
let id = req.body.data.id;
let approvers = JSON.parse(req.body.data.approv);
db.find({ selector: { _id: id } }, async function(err, result) {
if (err) return console.log(err.message);
console.log("Find completed: " + JSON.stringify(result.docs));
let restData = result.docs[0];
restData.approvers = approvers;
await db.insert(restData),
function(err, data) {
if (err) return console.log(err.message);
console.log("Insert completed: " + data);
}
);
});
});