1 回答

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
你可以試試,
let index1 = 0;
let index2 = 0;
let set = {
? ["portfolio."+index1+".nodes."+index2+".node_name"]: req.body.node_name
};
update_node.updateOne(
? {
? ? _id: ObjectID(req.body.userid),
? ? "portfolio.nodes.node_id": ObjectID(req.body.nodeid)
? },
? { $set: set }
)
.then(function (doc) { res.send(doc); });
關(guān)于您的查詢的結(jié)論,您不能使用多個(gè)$
位置運(yùn)算符,但可以同時(shí)使用單個(gè)位置運(yùn)算符和arrayFilters ,
update_node.update(
? {
? ? _id: ObjectID(req.body.userid),
? ? "portfolio.nodes.node_id": ObjectID(req.body.nodeid)
? },
? {
? ? $set: {
? ? ? "portfolio.$.nodes.$[n].node_name": req.body.node_name
? ? }
? },
? {
? ? arrayFilters: [
? ? ? { "n.node_id": ObjectID(req.body.nodeid) }
? ? ]
? }
)
.then(function (doc) { res.send(doc); });
添加回答
舉報(bào)