findOneAndUpdate mongodb推入现有阵列

时间:2018-10-15 16:09:32

标签: javascript arrays mongodb push

我有一个二维数据数组,我想将其他数组作为单个元素推送到此数组中。用户将不会拥有整个数组数组,而只会在数据库中放置一个新数组。

到目前为止,这是我想要的,但是我需要知道如何将新数组推入数据库中的2d数组:

.put((req, res)=>{
    mySchema.findOneAndUpdate({
        id:req.params.id
    },
    req.body,
    (err, updatedrate)=>{
        if(err)return res.status(500).send(err)
        return res.status(201).send(updatedrate)
    })
})

2 个答案:

答案 0 :(得分:5)

尝试 $ addToSet

{ _id: 1, letters: ["a", "b"] }

db.test.update(
   { _id: 1 },
   { $addToSet: {letters: [ "c", "d" ] } }
)

{ _id: 1, letters: [ "a", "b", [ "c", "d" ] ] }

推荐https://docs.mongodb.com/manual/reference/operator/update/addToSet/

答案 1 :(得分:0)

const db= new Schema({ 
    arrayName: [],
}); 

db.findOneAndUpdate({ _id }, { $push: { arrayName: itemAdd } }

添加项目添加到arrayName