Estoy tratando de hacer findOneAndUpdate() para encontrar un documento y actualizarlo en una operación atómica
db.characters.insertOne({ movies: ['Star Trek'], name: 'Jean-Luc Picard' }) db.characters.findOneAndUpdate({ name: 'Jean-Luc Picard' }, [ { $set: { age: 59 } }, { $push: { movies: 'Next Gen' } } ])da error
uncaught exception: Error: findAndModifyFailed failed: { "ok" : 0, "errmsg" : "Unrecognized pipeline stage name: '$push'", "code" : 40324, "codeName" : "Location40324" } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 DBCollection.prototype.findAndModify@src/mongo/shell/collection.js:742:15 DBCollection.prototype.findOneAndUpdate@src/mongo/shell/crud_api.js:910:12 @(shell):1:1¿Existe una sintaxis diferente para insertar un elemento en una matriz? También probé $addToSet que tampoco funcionó.
Prueba esto, probablemente funcionará:
db.characters.findOneAndUpdate({ name: 'Jean-Luc Picard' }, { $set: { age: 59 }, $push: { movies: 'Next Gen' } })