0

私はこの種のデータベースを見つけるコードを書いています(私はpymongoを使用しています)。 私はこれらの配列をwishlistフィールドの中のpython配列に属性付けできますか?mongodb配列をPython配列に変換する

また、wishlistフィールド内の配列内の値をデータベースで検索するにはどうすればよいですか。例えば:私はあなたがあなたのサブリスト内の要素場合distinctを使用し、同じ順序で正確にあることができ、そのwishlists

{ 
    "_id" : "david", 
    "password" : "azzzzzaa", 
    "url" : "url3", 
    "old_url" : "url3", 
    "new_url" : ["url1", "url2"], 
    "wishlist" : [ 
     ["all is dust", "mm4", "nm"], 
     ["feldon", "c15", "sp"], 
     ["feldon", "c15", "sp"], 
     ["jenara", "shards", "nm"], 
     ["rafiq", "shards", "nm"] 
    ] 
} 

答えて

1

["feldon","c15", "sp"]、持っているすべてのIDを見つけたいと言います。

db.collection.distinct("_id", {"wishlist": ["feldon", "c15", "sp"]}) 

がない場合は、aggregate方法と$redact演算子を使用する必要があります。

db.collection.aggregate([ 
    {"$redact": { 
     "$cond": [ 
      {"$setIsSubset": [ 
       [["feldon","c15", "sp"]], 
       "$wishlist" 
      ]}, 
      "$$KEEP", 
      "$$PRUNE" 
     ] 
    }}, 
    {"$group": { 
     "_id": None, 
     "ids": {"$push": "$_id"} 
    }} 
]) 
関連する問題