2015-05-24 58 views
3

如何將數組轉換爲MongoDB中的對象?MongoDB:將數組轉換爲對象

例如,我要對這個文檔轉換:

{ 
"_id" : NumberLong(279), 
"userAddressList" : [ 
    { 
     "street" : "Street", 
     "house" : "House", 
     "building" : "Building", 
     "flat" : NumberLong(0), 
     "entrance" : NumberLong(0), 
     "floor" : NumberLong(0), 
     "intercom" : "Intercome" 
    } 
     ], 
} 

這樣:

{ 
"_id" : NumberLong(279), 
"userAddressList" : 
    { 
     "street" : "Street", 
     "house" : "House", 
     "building" : "Building", 
     "flat" : NumberLong(0), 
     "entrance" : NumberLong(0), 
     "floor" : NumberLong(0), 
     "intercom" : "Intercome" 
    }, 
} 

所以我需要""userAddressList" : [{..}]"轉換爲""userAddressList" : {..}"

+0

你是什麼意思「MongoDB中」 - 你在找,這是否現有的查詢?你在使用Node.js嗎?您的總體目標是什麼?您是否嘗試在現有數據庫中遷移數據,以便您的文檔遵循這種新格式,或者您只是試圖修改查詢結果? –

+0

@WaiHaLee 我試過類似的查詢作爲chridam建議,但我有一個語法錯誤。不注意我。 –

+0

@fettereddingoskidney 我試圖在數據庫中進行數據更正的查詢。 –

回答

1

你可以嘗試以下查詢:

db.collection.find().forEach(function(doc){ 
    userAddressList = doc.userAddressList[0]; 
    doc.userAddressList = userAddressList; 
    db.collection.save(doc); 
}) 
+1

謝謝!它幫助! –