2013-05-29 36 views
0

我有一個文件(例如):如何在MongoDB中集合中插入複雜stucture(考慮索引)

{ 
    "_id" : ObjectId("51a60a6fff48ea884a04d3eb"), 
    "Code" : "07501013118018", 
    "Description" : "NECTAR JUMEX", 
    "State" : 1, 
    "Kind" : "Drink", 
    "Unit" : "U" 
    "Stock": [{'Store': 1, 'Stock': 8}, {'Store': 2, 'Stock': 4}, {'Store': 3, 'Stock': 3}], 
    "Supplier": [{'Code': '001'}, {'Code': '008'}, {'Code': '012'}] 
} 

這種結構有一個獨特的指數領域的「代碼」,但子場「商店」也必須是一個索引(用同樣的情況‘’:

  1. 當我想更新,我只是通過現場查找記錄的供應商)‘代碼’,改變數據
  2. 當我想插入,按字段「代碼」查找文檔,如果找到,則更新,如果沒有,則插入。

如果我想用現有的「代碼」插入一個文檔,但是「存儲」不存在,我需要添加這個¿我該怎麼做?不存在(相同的情況下與「供應商」)

感謝的提前

回答

0

要插入的文件與現有的「代碼」,但有「商店」?只要插入它:

> db.collection.insert({Code: "1"}) 

但也許我不明白你的問題。

+0

謝謝你的回答......我的問題是:我如何插入/更新/刪除「股票」字段? (例如,更多商店或更新商店中的庫存)。 – matus