我需要使用一次调用将多个值推送到猫鼬中的数组中。我尝试使用较小的数组来执行此操作,但该数组被作为子数组插入。
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] }
我注意到的另一件事是数组(值)中的类型被指定为数字,那么“严格”选项不会确保不插入除数字之外的任何内容吗?在这种情况下,允许插入另一个数组。