/ / Wstaw plik json do mongodb podając klucz do użycia jako _id - json, node.js, mongodb, express

Wstaw plik json do mongodb określającego klucz do użycia jako _id - json, node.js, mongodb, express

Mam jakiegoś jsona, który ma już identyfikator, który chcę wstawić do mojej bazy danych mongo. Json to coś takiego

{"id" : 538748,
"event_date":"2016-07-02",
"name" : "Tim"}

Czy istnieje sposób mapowania „id” na mongo „s _id podczas wstawiania?

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

}
});
});

Odpowiedzi:

1 dla odpowiedzi № 1

Musisz zmodyfikować body doc wkładasz, aby skutecznie zmienić nazwę id pole do _id:

body._id = body.id;
delete body.id;
collection.insert(body);

Ale zazwyczaj jest to czystsze i bezpieczniejsze budowanie nowego dokumentu z tylko poprawnymi polami, wykonanie mapowania w procesie:

var doc = {
_id: body.id,
event_date: body.event_date,
name: body.name
};
collection.insert(doc);