sql >> データベース >  >> NoSQL >> MongoDB

Pymongo Regex$all複数の検索用語

    re.compileのリストではなく、forループで文字列を作成しています オブジェクト。必要なもの:

    collected_x = []                            # Initialize an empty list
    
    for x in input:                             # Iterate over input
      collected_x.append(re.compile(x))         # Append re.compile object to list
    
    collected_x_cut = collected_x[:-2]          # Slice the list outside the loop
    
    cursor = db.collection.find({"key": {"$all": collected_x_cut}})
    

    簡単なアプローチは、 mapを使用することです。 リストを作成するには:

    collected = map(re.compile, input)[:-2]
    db.collection.find({"key": {"$all": collected}})
    

    または、list comprehension

    collected = [re.compile(x) for x in input][:-2]
    db.collection.find({"key": {"$all": collected}})
    



    1. MongoDB dataSizeをstorageSizeより大きくするにはどうすればよいですか?

    2. MongoDB:arrayFiltersが一致するものを見つけられない場合にアップサート

    3. javascriptでredisのすべてのキーと値を取得する方法は?

    4. MongoDBコレクションをJSONファイルにエクスポートする