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

Sắp xếp mảng đối tượng lồng nhau

Tôi sẽ lưu trữ nó theo thứ tự bạn muốn nó trở lại. Hoặc sắp xếp nó sau khi bạn kéo nó ra, ở phía máy khách.

Nếu cả hai đều không khả thi, bạn có thể sử dụng khung tổng hợp:

> db.test.insert({answers: [
...                 {name: 'paul', state: 'RU'},
...                 {name: 'steve', state: 'US'}, 
...                 {name: 'mike', state: 'DE'}]});
> db.test.insert({answers: [
...                 {name: 'paul', state: 'RU'},
...                 {name: 'steve', state: 'US'}, 
...                 {name: 'xavier', state: 'TX'}]});

db.test.aggregate([
  {$unwind: "$answers"}, 
  {$sort: {"answers.name":1}}, 
  {$group: {_id:"$_id", answers: {$push:"$answers"}}}
]);

sản xuất:

{
  "result" : [
  {
    "_id" : ObjectId("5053b2477d820880c3469364"),
    "answers" : [
      {
        "name" : "paul",
        "state" : "RU"
      },
      {
        "name" : "steve",
        "state" : "US"
      },
      {
        "name" : "xavier",
        "state" : "TX"
      }
    ]
  },
  {
    "_id" : ObjectId("5053af9f7d820880c3469363"),
    "answers" : [
      {
        "name" : "mike",
        "state" : "DE"
      },
      {
        "name" : "paul",
        "state" : "RU"
      },
      {
        "name" : "steve",
        "state" : "US"
      }
    ]
  }
],
  "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Các tài liệu phụ Mongoose so với lược đồ lồng nhau

  2. Làm thế nào để chuyển đổi từ kiểu dữ liệu chuỗi sang ngày tháng?

  3. mongodb di chuyển tài liệu từ bộ sưu tập này sang bộ sưu tập khác

  4. MongoDB insertMany ()

  5. MongoDB $ acos