Мне нужно вставить несколько значений в массив в мангусте, используя один вызов. Я попытался сделать это, используя меньший массив, но массив вставляется как дополнительный массив -.
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] }
Еще одна вещь, которую я заметил, заключалась в том, что тип в массиве (values )указан как число, тогда не будет ли параметр «строгий» гарантировать, что ничего, кроме чисел, не будет вставлено? В этом случае допускается вставка другого массива.