Vorrei usare findAndModify per incrementare atomicamente un campo, usando Mongoose.La Mongoose supporta il metodo `findAndModify` di Mongodb?
Tuttavia, il codice qui sotto lancia la "TypeError: Object # non ha un metodo 'findAndModify'": l'errore
// defining schema for the "counters" table
var tableSchema = new Schema({
_id: String,
next: Number
});
// creating table object for the counters table
var counters_table = mongoose.model('counters', tableSchema);
var tableObj = new counters_table();
// increment the "next" field on the table object
var query = {_id: 'messagetransaction'};
var update = {'$inc': {next: 1}};
var ret = tableObj.findAndModify(query, [], update, true, true, function(err) {
if (err) {
throw err;
}
else {
console.log("updated!");
}
});
Come per la documentazione MongoDB il findAndModify dovrebbe essere la seguente, Collection.prototype.findAndModify = function (query, sort, update, new_doc, remove_doc, function (err) { //}) Ma non funziona quando converti questo tipo di mangusta! Per favore, chiariscimi su questo! – Raja
Nuova funzionalità aggiunta in v3: http://aaronheckmann.posterous.com/mongoose-v3-part-2-findandmodify – EvdB
Documenti di Mongoose v3: [findOneAndUpdate] (http://mongoosejs.com/docs/api.html#query_Query -findOneAndUpdate) o [findOneAndRemove] (http://mongoosejs.com/docs/api.html#model_Model.findOneAndRemove) – aaronheckmann