在一次调用中以猫鼬推送数组列表

时间:2019-02-25 07:37:52

标签: javascript arrays node.js mongodb mongoose

我用诺言和猫鼬, 我想将数组推入数组。

数组模式和功能:

Temp: [{
        code: {
            type: Number,
            required: true
        }
    }],


 var arr =[2525,2525, 2525, 2525]

        Room.where({ _id: new ObjectID(_RoomID) }).updateOne({ $addToSet: { Temp: { code: arr } } }).then(() => {
         }, () => {

      })

我使用了这段代码,但无法使用arr, 如果我设置一个单一的变数ex: var arr = 2525 一切都正确并存储了

我该如何使用数组列表?

更新:

我的问题已解决。我使用了此代码:

   var arr = []

    for(let i = 1; i <= 10; i++) {
         var obj = {};   
         obj['code'] = 2525;
         arr.push(obj); 
    }

    Room.where({ _id: new ObjectID(_RoomID) }).updateOne({ $push: { Temp: { $each: arr } } }).then(() => {

       }, () => {
    })

1 个答案:

答案 0 :(得分:2)

从MongoDB docs中检查$push$each。示例:

db.students.update(
   { name: "joe" },
   { $push: { scores: { $each: [ 90, 92, 85 ] } } }
)