使用node.js和mongoshell将文档插入MongoDB

时间:2014-09-07 13:23:29

标签: node.js mongodb mongoose backend

我有这种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。

1 个答案:

答案 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,以便批量插入该数组中的所有文档。