MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Pymongo Regex $ tất cả các cụm từ tìm kiếm

Bạn đang xây dựng một chuỗi trong vòng lặp for của mình không phải là danh sách re.compile các đối tượng. Bạn muốn:

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}})

Một cách tiếp cận đơn giản là sử dụng map để xây dựng danh sách:

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

Hoặc list comprehension :

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Số lượng kết nối đến máy chủ MongoDB

  2. Tra cứu và sắp xếp bộ sưu tập nước ngoài

  3. GUI MongoDB nào tốt nhất? - Cập nhật 2019

  4. Bộ đếm nguyên tử Postgres vs MongoDB

  5. MongoDB:Làm thế nào để tải bộ sưu tập với mảng lồng nhau trong C #?