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 № 1risposta 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)
}