我正在尝试将 JSON 文件导入节点内的 MongoDB。这是我正在尝试做的事情:
db.open(function(err, db) {
if(!err) {
db.collection('orgs', {safe: true}, function(err, collection) {
if (err) {
console.log("The 'orgs' collection doesn't exist. Creating it with sample data...");
db.collection('orgs', function(err, collection) {
orgs = require("../data/orgs.json");
collection.insert(orgs, {safe:true}, function(err, result) {});
});
}
});
}
});
请注意,NodeJS 可以将 JSON 自动导入为 JSON,这很好,但 JSON 不处理 ISODate 或 ObjectID 之类的对象。这是我尝试导入的 JSON 数据的片段:
./data/orgs.json:
{
"stub": "apple",
"name":"Apple, Inc.",
"timezone": "America/New_York",
"currency": "USD",
"plans": [
{"planId":1, "dtStart": {"$date":"2012-12-07 12:34:56"}},
{"planId":0, "dtStart": {"$date":"2012-12-05 23:45:02"}, "dtEnd": {"$date":"2012-12-07 12:34:56"}}
]
}
我正在为 Node.js 使用 mongodb 本机驱动程序。
我尝试使用日期的整数表示,但它不起作用。
有没有办法在 MongoDB 识别的 JSON 中表示 ISODate 和 ObjectID 字段?