1

私は次のオブジェクトを持っています

   {
        "_id" : ObjectId("4b8699aa3b97dc29dd000000"),
        "name" : "test",
        "email" : "test",
        "url" : "test",
        "items" : [
                {
                        "$ref" : "item",
                        "$id" : ObjectId("4b866a043b97dc22a9000001")
                }
        ]}

アイテムから参照を削除するにはどうすればよいですか? 参照用の objectid はありますか? 以下を試しましたが、通常のリスト項目では機能しますが、参照では機能しません。

db.foo.update(foo, {$pull: {'items': {'$id': ObjectId("4b866a043b97dc22a9000001") } } })
4

2 に答える 2

1

問題はバージョンでした。古いバージョンでは、プルするすべてのキーと値を指定する必要があります。バージョン 1.3.2 に更新した後、これは必要なくなり、コードは機能しました。

于 2010-03-07T18:13:11.633 に答える
0

これを試して:

db.foo.update(foo, {$pull: {'items': {'$id': new ObjectId("4b866a043b97dc22a9000001") } } })
于 2010-03-04T18:40:51.973 に答える