我有一些json,它已经有一个ID,我想插入我的mongo db。 json就是这样的
{"id" : 538748,
"event_date":"2016-07-02",
"name" : "Tim"}
有没有办法映射" id"插入时mongo的_id?
router.get('/newpage', function (req, res) {
var db = req.db;
var collection = db.get('myDatabase');
request({
url: "http://someurl.com/json",
json: true
}, function (error, response, body) {
if (!error && response.statusCode === 200) {
// How to I specify the _id here
collection.insert(body);
}
});
});
答案 0 :(得分:1)
您需要修改要插入的body
文档,以便有效地将id
字段重命名为_id
:
body._id = body.id;
delete body.id;
collection.insert(body);
但是,使用有效字段构建新文档通常更清晰,更安全,在此过程中执行映射:
var doc = {
_id: body.id,
event_date: body.event_date,
name: body.name
};
collection.insert(doc);