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

Sắp xếp tùy chỉnh MongoDB

Nếu bạn muốn sắp xếp như vậy, có thể bạn muốn lưu trữ dữ liệu của mình theo một cách khác. MongoDB nói chung không tốt với việc thao tác các tài liệu lồng nhau như các trường cấp cao nhất. Trong trường hợp của bạn, tôi khuyên bạn nên tách ptime, pt và uid thành bộ sưu tập của riêng chúng:

tin nhắn

{
    "_id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "type":"1",
    "txt":"test message"
},  

người dùng

{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"52872ed59542f",
    "pt":ISODate("2013-11-26T11:18:42.961Z")
},
{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"524eb460986e4",
    "pt":ISODate("2013-11-26T11:18:42.961Z")
},
{
    "id":417,
    "ptime":ISODate("2013-11-26T11:18:42.961Z"),
    "uid":"524179060781e",
    "pt":ISODate("2013-11-27T12:48:35Z")
}

Sau đó, bạn có thể đặt chỉ mục trên tập hợp người dùng cho uid, ptime và pt.

Tuy nhiên, bạn sẽ cần thực hiện hai truy vấn để nhận được các tin nhắn văn bản.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chuỗi ngày sắp xếp MongoDB (mm / dd / yyyy)

  2. Cách chiếu chỉ mục mảng sau khi giải nén một mảng với khung tổng hợp MongoDB

  3. Làm cách nào để bạn thay đổi quyền của người dùng MongoDB?

  4. MongoDB:Cập nhật tài liệu bằng cách sử dụng dữ liệu từ cùng một tài liệu

  5. Tìm tài liệu trong đó một trường so sánh với một trường khác trong một mảng