MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Проекция на многомерен масив MongoDB

Можете да използвате рамката за агрегиране:

db.test.aggregate([
    { $unwind: '$arr' },
    { $limit: 1 },
    { $project: { _id: 0, arr: 1 } },
    { $unwind: '$arr' },
    { $skip: 1 },
    { $limit: 1 }
])

Връща:

{ "arr": 22 }

Редактиране: Оригиналният плакат модифицира моето решение, за да отговаря на неговите нужди, и излезе със следното:

db.test.aggregate([
    { $match: { name:"Olivia" } },
    { $project: { _id: 0,arr: 1 } },
    { $unwind: '$arr' },
    { $skip: 1 },
    { $limit:1 },
    { $unwind: "$arr" },
    { $skip: 2 },
    { $limit: 1 }
])

Тази заявка ще доведе до { arr: 77 } предвид разширените данни, предоставени от ОП. Имайте предвид, че $skip и $limit са необходими, за да изберете правилните елементи в йерархията на масива.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Намиране на MongoDb Spring във вложен обект

  2. Какво се случва, когато на mongodb липсва памет?

  3. MongoDB:Вградени потребители в коментари

  4. Mongoose:atomic FindOne-Or-Insert(), не актуализирайте съществуващ екземпляр, ако бъде намерен

  5. Разбиране на MongoDB Aggregate и GroupBy