将json文件插入mongodb,指定要用作_id的键

时间:2015-08-30 19:06:31

标签: json node.js mongodb express

我有一些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);

    }
});
});

1 个答案:

答案 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);