0
我无法通过api更新阵列卡。我有doc板:更新mongodb和nodejs中的嵌套数组
{
"_id" : ObjectId("59e096a7622a3825ac24f343"),
"name" : "1",
"users" : [
ObjectId("59cd114cea98d9326ca1c421")
],
"lists" : [
{
"list" : "1",
"cards" : [
{
"name" : "2",
"Author" : [
"59df60fb6fad6224f4f9f22d",
"59df60fb6fad6224f4f9f22d",
"59df60fb6fad6224f4f9f22e"
]
},
{
"name" : "3",
"Author" : []
}
]
},
{
"list" : "fea",
"cards" : [
{
"name" : "card",
"Author" : []
}
]
}
],
"__v" : 0 }
创建功能被sended可变对象,具有:
cardsObj = {
indeksCard : indeksCard,
cards : cards,
IdBoard: IdBoard
}
IdBoard是ID其局我想更新,卡它是数组,我想只更新和indeksCard列表中的数字位置卡阵列。
所以cardsObj.cards看来:
{
"name" : "3",
"Author" : ["59df60fb6fad6224f4f9f22d"]
}
好,我送API从哪里获得的功能:
router.post('/add/author', function (req, res, next) {
var query = 'lists.'+req.body.cardsObj.indeksCard+'.cards';
Board.findOneAndUpdate({ _id: req.body.cardsObj.IdBoard },
{
$set: {
query: req.body.cardsObj.cards,
}
},
{
upsert: true
},
((cards) => {
res.send(cards)
})
)
});
请给别人帮了我,这对我来说非常重要。 问题是,这个功能Board.findOneAndUpdate不更新我的数组我认为它的故障查询。