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 № 1Musisz 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);