我有这种Json格式:
{
"AAPL": {
"cname": "Apple inc",
"symbol": "AAPL",
"logo": "apple.png",
"price": 0
},
"NVDA": {
"cname": "Nvidia Corporation",
"symbol": "NVDA",
"logo": "nvidia.png",
"price": 0
},
"GOOG": {
"cname": "Google inc",
"symbol": "GOOG",
"logo": "google.png",
"price": 0
}
}
我希望在插入mongoDB时保持相同的格式。 我如何使用mongoDB本机驱动程序为node.js和使用mongo shell。
答案 0 :(得分:1)
这里有一个JSON对象。如果希望每个键都是单独的文档,则需要先将对象转换为数组。当你这样做时,你还需要将作为每个子对象的键的股票符号移动到对象本身中,这样它就不会在过程中丢失。您可以使用Javascript for-in循环执行此操作:
jsonObject = ... // that JSON code you posted above
var docs = [];
for (var key in jsonObject) {
var doc = jsonObject[key];
doc.symbol = key;
docs.push(doc);
}
然后,您可以将整个数组传递给db.collection.insert
,以便批量插入该数组中的所有文档。