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

Kiểm tra sự tồn tại của nhiều trường trong tài liệu MongoDB

Tôi không biết cách tốt hơn nhưng bạn luôn có thể xử lý bằng JavaScript qua $where :

jsStr = """var doc = this;
           return ['result1','result2','result3']
           .every(function(key) { 
               return doc.hasOwnProperty(key) 
           });"""

coll.find({ "$where": jsStr })

Nhưng bạn sẽ phải chỉ định một mảng "chìa khóa" để kiểm tra một nơi nào đó.

Nếu bạn nghĩ rằng bạn có rất nhiều khóa để nhập, thì tại sao không chỉ cần "xây dựng" biểu thức truy vấn của bạn:

whitelist = [ "result1", "result2", "result3" ]
query = {}

for key in whitelist:
    query[key] = { "$exists": True }

coll.find(query)

Điều đó giúp tiết kiệm một chút công việc nhập và vì tất cả các truy vấn MongoDB dù sao cũng chỉ là cấu trúc dữ liệu nên việc sử dụng thao tác dữ liệu cơ bản để xây dựng các truy vấn là rất hợp lý.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để hạn chế các giá trị bằng cách sử dụng kiểu dữ liệu Hỗn hợp trong Mongoose?

  2. Cập nhật mảng Mongo:xóa khóa động

  3. mongo.so:> ký hiệu không xác định:php_json_encode trong Không xác định trên dòng 0. Sau khi cài đặt trình điều khiển mongo cho php

  4. Tính điểm từ một trường hiện có với các điều kiện

  5. Có tùy chọn upert trong lệnh chèn mongodb không?