为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过一次调用将一组对象推入mongoose中的数组?

如何通过一次调用将一组对象推入mongoose中的数组?

慕桂英546537 2019-08-13 14:29:08
如何通过一次调用将一组对象推入mongoose中的数组?我需要使用一次调用将多个值推送到mongoose中的数组中。我尝试使用较小的数组,但数组作为子数组插入。var kittySchema = new mongoose.Schema({         name: String,         values: [Number]});var Kitten = db.model('Kitten', kittySchema);Kitten.update({name: 'fluffy'},{$push: {values:[2,3]}},{upsert:true},function(err){         if(err){                 console.log(err);         }else{                 console.log("Successfully added");         }});调用上述代码三次的结果给出了以下结果:{ "_id" : ObjectId("502b0e807809d79e84403606"), "name" : "fluffy", "values" : [ [ 2, 3 ], [ 2, 3 ], [ 2, 3 ] ] }而我想要的是这样的:{ "_id" : ObjectId("502b0e807809d79e84403606"), "name" : "fluffy", "values" : [ 2, 3 ,2 ,3, 2, 3] }我注意到的另一件事是数组中的类型(值)被指定为Number,那么'strict'选项是否确保没有插入除NUM以外的任何东西?在这种情况下,允许插入另一个数组。
查看完整描述

3 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

从MongoDB2.4开始,你应该使用:

Kitten.update({name: 'fluffy'}, {$push: {values: {$each: [2,3]}}}, {upsert:true}, function(err){
        if(err){
                console.log(err);
        }else{
                console.log("Successfully added");
        }});


查看完整回答
反对 回复 2019-08-13
  • 3 回答
  • 0 关注
  • 1152 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信