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

Giải pháp kho dữ liệu để tìm kiếm thẻ

Mongodb có thể xử lý những gì bạn muốn, nếu bạn lưu trữ các đối tượng của mình như thế này

{ score:2131, attributes: ["attr1", "attr2", "attr3"], ... }

Sau đó, truy vấn sau sẽ khớp với tất cả các mục có att1 và attr2

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr2" ] } })

nhưng điều này sẽ không khớp với nó

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr4" ] } })

truy vấn trả về một con trỏ, nếu bạn muốn con trỏ này được sắp xếp, thì chỉ cần thêm các tham số sắp xếp vào truy vấn như vậy

c = db.mycol.find({ attributes: { $all: [ "attr1", "attr2" ] }}).sort({score:1})

Hãy xem Truy vấn nâng cao để xem những gì có thể.

Các chỉ mục thích hợp có thể được thiết lập như sau

db.mycol.ensureIndex({attributes:1, score:1})

Và bạn có thể nhận thông tin về hiệu suất bằng cách sử dụng

db.mycol.find({ attributes: { $all: [ "attr1" ] }}).explain()

Mongo giải thích số lượng đối tượng đã được quét, thời gian hoạt động và nhiều số liệu thống kê khác.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhận các ngày ISO riêng biệt theo ngày, tháng, năm

  2. kết nối với Mongo DB bằng phiên bản mongoose (4.11.0)

  3. Lập chỉ mục các mảng song song trong Mongodb

  4. Sự cố Mongodb có tín hiệu 15 (Đã chấm dứt)

  5. Giới hạn con trỏ Pymongo (1) trả về nhiều hơn 1 kết quả