1

以下を含む mongoDB コレクションがあるとします。

{ 
"_id" : ObjectId("561c04bde4b05625eaaaf691"), 
"groupName" : "Group1", 
"Rights" : [
    "RIGHTS_1", 
    "RIGHTS_2"
], 
"users" : [
    "User 1"
]}


,{ 
    "_id" : ObjectId("561c04bde4b05625eaaaf692"), 
    "groupName" : "Group2", 
    "Rights" : [
        "RIGHTS_3", 
        "RIGHTS_4"
    ], 
    "users" : [
        "User 2"
]}

こんな問い合わせがあります

db.collection.find({Rights:{$elemMatch:{$eq:"RIGHTS_1"}}})

、RIGHTS_1 に一致する権利を持つグループを探します。

ただし、MongoJack では次のようなものがあるため、MongoJack を使用して同等のクエリを作成する方法がわかりません。

DBQuery.elemMatch(collection.RIGHTS_FIELD, DBQUERY_GOES_HERE))

しかし、DBQuery にはフィールドと値が必要であり、配列内での等価性チェックは許可されていないようです。他の投稿とドキュメントを確認しましたが、解決策が見つからないようです。この種のクエリは MongoJack でサポートされていますか? 助けてくれてありがとう!

4

1 に答える 1

1

私は本当にばかだった。

db.collection.find({Rights:{$eq:"RIGHTS_1"}}})

十分なクエリであり、実装が簡単です

于 2016-06-23T03:19:14.737 に答える