在猫鼬中插入许多字段的最佳方法是什么?

时间:2012-09-17 10:05:04

标签: mongoose

我想在我的收藏中取消设置字段。这些字段在一个数组中。

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();
    }
});

但它不起作用: - (

2 个答案:

答案 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()