Простой код для подключения к БД, создания коллекции и записи документа. Однако почему jsonobj
изменен, позвонив по номеру collection.insert
?MongoDB Collection Insert Добавляет _id Поле
var mongo = require('mongodb').MongoClient;
mongo.connect('mongodb://localhost:27017/testDB', function(err, connection) {
if (!err) {
connection.createCollection('test', function (err, collection) {
if (!err) {
var jsonobj = {foo: 'bar', abc: 'xyz'};
collection.insert(jsonobj, function (err, result) {
if (!err) {
//is not equal to the previous value of jsonobj
console.log(jsonobj);
}
});
}
});
}
});
Выход я получаю { foo: 'bar', abc: 'xyz', _id: 5769a38cd01e25512a3dbdd8 }
, который не равен исходному значению jsonobj
. Я понимаю, что у всех документов MongoDB есть поле _id
, но почему оно добавлено к моему объекту?
Зачем нужно модифицировать объект? – mbacvanski
Он однозначно идентифицирует документ, поэтому, даже если у вас есть два документа с одинаковыми полями, они могут быть дифференцированы. –
Я имею в виду, в каком случае разработчик счел бы полезным изменить свой объект? – mbacvanski