0

mongo> db.users.findOne({username: 'foo'});

   {
    "__v" : 266,
    "_id" : ObjectId("50752b5f00a0f5ab64000002"),
    "followers" : [
            ObjectId("505e2f1de888c7d701000001"),
            ObjectId("506146fe72c0280723000001"),
            ObjectId("50752b5f00a0f5ab64000002"), //remove this
            ObjectId("50752b5f00a0f5ab64000002") //remove this
    ],

follower[] コレクションの最後の 2 つのアイテムを削除したいと思います。

4

1 に答える 1

3

これを試すことができます(最後の2つであることが確実な場合):

db.users.update({"_id" : ObjectId("50752b5f00a0f5ab64000002")}, {$pop: {followers:1}});
db.users.update({"_id" : ObjectId("50752b5f00a0f5ab64000002")}, {$pop: {followers:1}});

$pop配列の最後の要素を削除します。

ただし、特定の ID がどこにあるかに関係なく、リストから特定の ID を削除する必要がある場合は、 を使用する$pull$pullAll、一度に複数を削除したい場合に使用できます。

于 2012-10-28T07:15:58.913 に答える