[MONGODB] 어떻게 전화와 몽구스의 배열로 객체의 배열을 밀어?
MONGODB어떻게 전화와 몽구스의 배열로 객체의 배열을 밀어?
나는 하나의 호출을 사용 몽구스의 배열로 여러 값을 밀어해야합니다. I는 작은 배열을 사용하여 수행하려했지만 어레이는 서브 어레이로 삽입 받고있다.
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] }
내가 눈치 또 한가지 번호, 다음, '엄격한'옵션은 숫자 이외의 그 어떤 삽입되지 않습니다 보장을 wouldnt로 배열 (값)의 유형이 지정된이었다? 이 경우, 다른 배열이 삽입되는 것이 허용되고있다.
해결법
-
==============================
1.(12 월 2014 업데이트) MongoDB2.4 때문에 당신은 사용해야합니다 :
(12 월 2014 업데이트) 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"); } });
-
==============================
2.각 $ $ 푸시를 사용하여 아래에 다른 솔루션을 참조 사용되지 않는
각 $ $ 푸시를 사용하여 아래에 다른 솔루션을 참조 사용되지 않는
귀하의 예를 가까이이지만 (오히려 값 배열에 다른 배열을 밀어보다) 별도 추가 된 각각의 값을 가지고 $ 푸시보다는 $ pushAll를 원하는 :
var Kitten = db.model('Kitten', kittySchema); Kitten.update({name: 'fluffy'},{$pushAll: {values:[2,3]}},{upsert:true},function(err){ if(err){ console.log(err); }else{ console.log("Successfully added"); } });
-
==============================
3.또는 $ addToSet와 $ 각 수식을 사용 :
또는 $ addToSet와 $ 각 수식을 사용 :
https://docs.mongodb.com/manual/reference/operator/update/addToSet/#each-modifier
from https://stackoverflow.com/questions/11963684/how-to-push-an-array-of-objects-into-an-array-in-mongoose-with-one-call by cc-by-sa and MIT license
'MONGODB' 카테고리의 다른 글
[MONGODB] MongoDB를 놓아 내부 어레이 (0) | 2019.12.01 |
---|---|
[MONGODB] MongoDB의 조건부 $ 합 (0) | 2019.12.01 |
[MONGODB] MongoDB의에서, 당신은 어떻게 인덱스에 의해 배열 요소를 제거합니까 (0) | 2019.12.01 |
[MONGODB] 어떻게 MongoDB의 문서에서 완전히 필드를 제거하려면? (0) | 2019.12.01 |
[MONGODB] MongoDB를 : upsert 하위 문서 (0) | 2019.12.01 |