gpt4 book ai didi

mongodb - 如何通过一次调用将一组对象插入 Mongoose 数组中?

转载 作者:太空宇宙 更新时间:2023-11-04 01:39:17 25 4
gpt4 key购买 nike

我需要使用一次调用将多个值推送到 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”选项是否不会确保不插入除 Numbers 之外的任何内容?在这种情况下,允许插入另一个数组。

最佳答案

(2014 年 12 月更新) 从 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");
}
});

关于mongodb - 如何通过一次调用将一组对象插入 Mongoose 数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53444549/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com