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不更新我的數組我認爲它的故障查詢。