Me pregunto si hay una manera de insertar un nuevo documento y devolverlo de una sola vez.
Esto es lo que estoy usando actualmente:
db.collection("mycollection").insertOne(options, function (error, response) {
...
});
Respuestas
20 para la respuesta № 1respuesta El resultado contiene información de éxito o no y el número de registro insertado. pero si desea devolver los datos insertados puede intentar 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 para la respuesta № 2
Podrías usar mangosta para hacer esto. Con el save
Método que puede insertar un documento y devolverlo en caso de éxito. Aquí hay un ejemplo de la documentación de mangosta:
product.save(function (err, product, numAffected) {
if (err) {
// Handle error...
} else {
// Do something with the returned document...
}
})
0 para la respuesta № 3
Podrías usar mongojs para hacer esto.
db.collection("mycollection").save(doc, function(error, response){
// response has _id
})
0 para la respuesta № 4
El siguiente código funcionó para mí, en MongoDB versión 2.2.33.
db.collection("sample_collection").insertOne({
field1: "abcde"
}, (err, result) => {
if(err) console.log(err);
else console.log(result.ops[0].field1)
}