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

Làm cách nào để loại trừ khỏi tài liệu kết quả tìm kiếm với các trường không có trong truy vấn?

Tôi phải thừa nhận rằng tôi không biết phương pháp truy vấn thông thường nào để giải quyết vấn đề này. Chỉ có một cách mà tôi biết và đó là sử dụng so sánh đối tượng MongoDBs. Để làm điều này, bạn sẽ thay đổi cấu trúc của mình thành một thứ gì đó dọc theo dòng:

{
    ps: [a,b]
}

hoặc:

{
    ps: {p1:a,p2:b}
}

Và sau đó bạn sẽ truy vấn như:

db.col.find({ p: [a,b] })

hoặc:

db.col.find({ p: {p1:a, p2:b} })

Có một vấn đề bắt chước với điều này mặc dù. Nó phụ thuộc vào thứ tự khóa có nghĩa là nếu a của bạn và b thực tế là ngược lại trong một tài liệu khác, nó sẽ không khớp. Vì vậy, bạn sẽ cần phải đảm bảo rằng bạn quan tâm đến thứ tự khi tiết kiệm nếu bạn làm điều này.

Hy vọng nó sẽ hữu ích,



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chuyển đổi ngày từ mili giây sang đối tượng ISODate

  2. tiếp tục trong cursor.forEach ()

  3. Làm thế nào để tổng hợp theo ngày khi một dấu thời gian đầy đủ được đưa ra trong khuôn khổ tổng hợp?

  4. Tôi có thể truy vấn MongoDB ObjectId theo ngày không?

  5. Lưu trữ tệp vào MongoDB bằng Multer trong Mongoose