小编Pra*_*ika的帖子

如何通过一次调用将一组对象推入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");
        }
});
Run Code Online (Sandbox Code Playgroud)

调用上述代码三次的结果给出了以下结果:

{ "_id" : ObjectId("502b0e807809d79e84403606"), "name" : "fluffy", "values" : [ [ 2, 3 ], [ 2, 3 ], [ 2, 3 ] ] }
Run Code Online (Sandbox Code Playgroud)

而我想要的是这样的:

{ "_id" : ObjectId("502b0e807809d79e84403606"), "name" : "fluffy", "values" : [ 2, 3 ,2 ,3, 2, 3] }
Run Code Online (Sandbox Code Playgroud)

我注意到的另一件事是数组中的类型(值)被指定为Number,那么'strict'选项是否确保没有插入除NUM以外的任何东西?在这种情况下,允许插入另一个数组.

mongoose mongodb

37
推荐指数
3
解决办法
5万
查看次数

标签 统计

mongodb ×1

mongoose ×1