我的模型文檔中有一個數組。我想根據我提供的密鑰刪除該數組中的元素,然後更新MongoDB。這可能嗎?Mongoose刪除文檔中的數組元素並保存
這裏是我的嘗試:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var favorite = new Schema({
cn: String,
favorites: Array
});
module.exports = mongoose.model('Favorite', favorite, 'favorite');
exports.deleteFavorite = function (req, res, next) {
if (req.params.callback !== null) {
res.contentType = 'application/javascript';
}
Favorite.find({cn: req.params.name}, function (error, docs) {
var records = {'records': docs};
if (error) {
process.stderr.write(error);
}
docs[0]._doc.favorites.remove({uid: req.params.deleteUid});
Favorite.save(function (error, docs) {
var records = {'records': docs};
if (error) {
process.stderr.write(error);
}
res.send(records);
return next();
});
});
};
到目前爲止發現的文件,但移除也不會保存作品。
這對性能來說更好。 –
非常有幫助,謝謝。 – Nate
謝謝你的工作 – Dibish