2017-12-06 13 views
3

マングースモデルでオブジェクトID(例:「原料」)を持っていたいと思います。そのキーは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:" "}のような文書を作成します。また、 '原料'は配列です。 –

関連する問題