我想在我的收藏中取消设置字段。这些字段在一个数组中。
var Stuff = new Schema(
property = String,
_invitedAdmin = [String]
)
使用mongooDB,我可以这样做:
Stuff.update({_invitedAdmin:email}, { $unset : {_invitedAdmin : email} }, callback);
我如何对MongooseJS做同样的事情?
我试试:
Stuff.find({property:isTtrue}, function(err, stuff) {
{
for(i=0; i < stuff.length;i++)
{
stuff[i]._invitedAdmin = undifined;
stuff[i].save();
}
});
但它不起作用: - (
答案 0 :(得分:1)
要从Stuff集合中所有文档的email
字段中删除_invitedAdmin
的所有实例:
Stuff.update(
{_invitedAdmin: email},
{$pull : {_invitedAdmin : email}},
{multi: true},
callback);
如果您不包含{multi: true}
选项,则只会影响第一个匹配的文档。
答案 1 :(得分:0)
您可以通过将值设置为undefined来完全删除文档中的属性,这将触发一个 $未设置。
doc.path = undefined; doc.save()