0

コレクション内のフィールドの設定を解除したい。このフィールドは配列になっています。

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

しかし、それは機能しません:-(

4

2 に答える 2

1

Stuffコレクション内のすべてのドキュメントemailのフィールドからのすべてのインスタンスを削除するには:_invitedAdmin

Stuff.update(
    {_invitedAdmin: email}, 
    {$pull : {_invitedAdmin : email}}, 
    {multi: true}, 
    callback);

このオプションを含めない{multi: true}と、最初に一致したドキュメントにのみ影響します。

于 2012-09-17T13:31:02.353 に答える
0

値を undefined に設定すると、$unset がトリガーされ、ドキュメントからプロパティを完全に削除できます。

doc.path = undefined; doc.save()
于 2012-09-17T10:29:10.403 に答える