0
apiで配列カードを更新できません。mongodbとnodejsのネストされた配列を更新する
で変数オブジェクトをsendedではれる私は関数を作成 {
"_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 }
::私はDOCボード持って
cardsObj = {
indeksCard : indeksCard,
cards : cards,
IdBoard: IdBoard
}
IdBoardは私が更新をしたいボードID、カードがあるが、それは私が唯一の更新をしたい配列で、indeksCardリスト内の数字の位置のカードの配列です。
ので、それはそうcardsObj.cards:OK
{
"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は配列を更新しないということです。