0
私はこのようになりますAdminGroupOperationモデルがあります:mongodbで文書の配列を更新するには?
var Operation = new mongoose.Schema({
name : String,
value: Boolean,
recycled: Number
});
どのように私はAdminGroupOperationsモデルでの操作列を更新することができます。このようになります
var AdminGroupOperation = new mongoose.Schema({
module : String,
adminGroup: {type: mongoose.Schema.Types.ObjectId, ref: 'AdminGroup'},
operations: [{type: mongoose.Schema.Types.ObjectId, ref: 'Operation'}],
recycled: Number
});
と私の動作モデルを?私のAPIでは、私はこのような何かが、この文句を言わない仕事を持っている...
exports.update = function (req, res, next) {
var data = req.body;
AdminGroupOperation.findByIdAndUpdate({"_id": req.params.id}, {
module : data.module,
adminGroup: data.adminGroup._id,
operations: data.$.operations_id
},
{new: true},
function (err, secoperation) {
if (err) {
return next(err);
}
secoperation.save(function (err) {
if (err) {
return next(err);
}
});
res.json({'status': 'updated', 'ID': req.params.id});
})
};
を見つけるために、要求を使用してアップデートを使用することができますので、私のクエリは、今のようになります。 'AdminGroupOperation.findByIdAndUpdate(data._id、 { 「$セット」:{ 「モジュール」 :data.module、 "adminGroup":data.adminGroup._id、 "操作。$":data.operations } } ' しかし、これはうまく動作しません。 – tadija
更新要求を試す[link] http://mongoosejs.com/docs/2.7。 x/docs/updating-documents.html – chou
私はまだそれを動作させることはできませんでした。これまでのコードは 'AdminGroupOperation.findOne({'_ id':req.body._id}) .populate( '操作') .exec(function(err、record){ for(var i = 0; i
tadija