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

Xác định hiệu quả chủ sở hữu của bản ghi theo thứ bậc với MongoDB

Nếu bạn đang cố gắng "chọn" các bản ghi từ MongoDB dựa trên một "cột" có giá trị từ một tập hợp các giá trị có thể có mà bạn cần kết hợp với bảng quản lý người dùng để xác định, thì NoSQL đang chống lại bạn ...

Nếu danh sách ID người dùng vẫn có thể quản lý được, bạn có thể thực hiện where ownerId in (?,?,?,?,?...) loại truy vấn (sau khi xác định danh sách lần đầu):

db.documents.find({owner:{$in: [1234, 2345, 4444, 77777, 99999]}})

Cách NoSQL có lẽ là làm không chuẩn hóa mọi thứ, chẳng hạn như bằng cách không chỉ bao gồm ownerId trong tài liệu, mà còn cả đường dẫn hoàn chỉnh lên hệ thống phân cấp quản lý:

{  _id: 'the document A',
   owner : 1234,
   managers: [ 2345, 4444, 77777, 99999 ]
}

Tất nhiên, điều đó sẽ cần được cập nhật khi phân cấp người dùng thay đổi.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cập nhật MongoDB. Cố gắng đặt một trường từ một thuộc tính của một trường khác

  2. Những lý do nên và không nên chuyển từ máy chủ SQL sang MongoDB

  3. Mongodb - các trường trùng lặp trong $ set và $ setOnInsert

  4. Serialize / Deserialize MongoDB Bson tài liệu bằng trình điều khiển C # chính thức

  5. Cách chèn đối tượng mới mà không xóa đối tượng trước đó