/ / Node.js + MongoDB: вставити один і повернути щойно вставлений документ - node.js, mongodb

Node.js + MongoDB: вставити один і повернути щойно вставлений документ - node.js, mongodb

Мене цікавить, чи є спосіб вставити новий документ і повернути його за один раз.

Це те, що я зараз використовую:

db.collection("mycollection").insertOne(options, function (error, response) {
...
});

Відповіді:

20 за відповідь № 1

відповідь Результат містить інформацію про успіх чи ні та кількість вставлених записів. але якщо ви хочете повернути вставлені дані, то можете спробувати response.ops

db.collection("mycollection").insertOne(doc, function (error, response) {
if(error) {
console.log("Error occurred while inserting");
// return
} else {
console.log("inserted record", response.ops[0]);
// return
}
});

2 для відповіді № 2

Ви могли б використовувати мангуста зробити це. З save методом ви можете вставити документ і повернути його на успіх. Ось приклад із мангуста документація:

product.save(function (err, product, numAffected) {
if (err) {
// Handle error...
} else {
// Do something with the returned document...
}
})

0 для відповіді № 3

Ви могли б використовувати mongojs зробити це.

db.collection("mycollection").save(doc, function(error, response){
// response has _id
})

0 для відповіді № 4

Наступний код працював для мене, в Версія MongoDB 2.2.33.

db.collection("sample_collection").insertOne({
field1: "abcde"
}, (err, result) => {
if(err) console.log(err);
else console.log(result.ops[0].field1)
}