/ / Node.js + MongoDB: inserisci uno e restituisce il documento appena inserito - node.js, mongodb

Node.js + MongoDB: inserisci uno e restituisce il documento appena inserito - node.js, mongodb

Mi chiedo se c'è un modo per inserire un nuovo documento e restituirlo in una volta sola.

Questo è quello che sto attualmente usando:

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

risposte:

20 per risposta № 1

risposta il risultato contiene informazioni sul successo o meno e il numero del record inserito. ma se vuoi restituire i dati inseriti, puoi provare 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 per risposta № 2

Potresti usare mangusta per fare questo. Con il save metodo è possibile inserire un documento e restituirlo in caso di successo. Ecco un esempio dal documentazione di mangusta:

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

0 per risposta № 3

Potresti usare mongojs per fare questo.

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

0 per risposta № 4

Il codice seguente ha funzionato per me, in MongoDB versione 2.2.33.

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