私の主な懸念は$elemMatch
、配列から要素を検索してプルするコマンドを使用するmongodbドキュメントについてですが、これは私が使用すると機能しません。私の文書構造は
{
"_id" : ObjectId("55dea445c3ad8cac03a7ed8e"),
"email" : "james@user.com",
"groups" : [
{
"_id" : ObjectId("55dea4a4c3ad8c8005a7ed8f"),
"name" : "All Group"
}
]}
mongodb クエリを使用して、ドキュメントからグループを削除したいと考えています。私のクエリは次のとおりです。
db.users.update({"_id": ObjectId('55dea445c3ad8cac03a7ed8e')},
{$pull: {"groups": {$elemMatch: {"_id": ObjectId('55dea4a4c3ad8c8005a7ed8f')}}}})
クエリを実行した後、ユーザー ドキュメントは更新されず、グループ値はまだそこにあります。私はmongodbのドキュメントに従っています:http://docs.mongodb.org/v2.6/reference/operator/update/pull/