2017-12-06 4 views
3

내 몽구스 모델에서 오브젝트 ID (예 : ingredients)를 갖고 싶습니다. 여기서 키는 ObjectID이며 값은 숫자입니다. 그렇게 할 수 있습니까? 내 몽구스 스키마는 어떻게 정의해야합니까? 아래 예를 찾을 수 있습니다.몽구스 - ObjectID를 키로 사용 하시겠습니까?

예 JSON은 :

{ 
    "_id": ""5a2539b41c574006c46f1a07", 
    "name": "xyz", 
    "ingredients": { 
     "5a23f5e6159f5c3438c75971": 50, 
     "5a23f60b159f5c3438c75972": 50, 
     "5a255b04c9d9c40ac8927dd5": 50 
    } 
    } 

사전에 당신의 도움을 주셔서 감사합니다. 모델 파일에서

+0

키가 objectID이고 그 값이 numberes라는 것은 무엇을 의미합니까? 나만의 키를 만들고 싶니? –

답변

1

{ 
    "_id": ""5a2539b41c574006c46f1a07", 
    "name": "xyz", 
    "ingredients": mongoose.Schema.Types.mix 
    } 

참조 how to create dynamic document keys in mongodb

동적 키의 삽입이 너무 간단

insertData_dynamic_colone: function(collection, colone1, colone2) { 
    var obj = {}; 
    obj[colone1] = "14"; 
    obj[colone2] = "15"; 
    dbObject.collection(collection).insertOne(obj, function(err, result) { 
     assert.equal(err, null);   
    }); 
} 

난 당신이 미래 에 dymanic 키를 업데이트해야합니다 알고 참조하기 Update Mongo array: remove dynamic key

collection.update(
    {"_id": ObjectId("5a2539b41c574006c46f1a07")}, 
    {"$unset": {"ingredients.5a23f5e6159f5c3438c75971": ""}} 
) 
+0

답변 및 향후 참조 주셔서 감사합니다 :) – k6pib6r6

+0

행복한 코딩 :) – shivshankar

1

: 당신이 모델 id 필드로 변경해야 XXX에서

(...) 
 
ingredients: { 
 
    id: { type: mongoose.Schema.ObjectId, ref: 'xxx' } , 
 
    value: Number, 
 
    }, 
 
(...)

는에 속한다. 당신이 믹스 스키마를 사용할 수 있습니다

+0

그러면 'ingrdients : {id : "", value : ""}와 같은 문서가 생성됩니다. 또한'ingredients'는 배열입니다. –

관련 문제