2017-10-06 1026 views
0

我對MongoDB很新,在將數據導入數據庫時​​遇到一些困難。現在我收集的文件看起來像MongoDB將字符串轉換爲數組

db.Question.findOne() 
{ 
"_id" : ObjectId("124"), 
"Answers" : "[\"502\",\"784\",\"1060\"]", 
} 

答案現在存儲爲單個字符串。不過,我想將它轉換爲如下所示的列表,以便在查詢時展開它。

{ 
    "_id" : ObjectId("124"), 
    "Answers" : ["502","784","1060"], 
    } 

任何想法如何做到這一點?謝謝。

回答

1

你只需要申請JSON.parse給這些字符串:

> JSON.parse("[\"502\",\"784\",\"1060\"]") 
[ '502', '784', '1060' ] 
0

首先刪除「[」和「]」中的數據,然後使用下面的代碼,它創建一個新的屬性,答案,這是一個陣列/列表保持個體數:

db.Question.find({}).snapshot().forEach(function (el) { 
    el.answers=el.Answers.substring(1,el.Answers.length-1);  
    el.answers = el.Answers.split(','); 
     db.Question.save(el); 
}); 
+0

無需去除括號文字,使用'JSON.parse'上的當前'Answers'值由下面@RayToal'db.Question.find(所建議的{})。snapshot()。forEach(function(el){elsAnswers = JSON.parse(el.Answers); db.Question.save(el); });' – chridam