MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wielowymiarowa projekcja tablicy MongoDB

Możesz użyć struktury agregacji:

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

Zwroty:

{ "arr": 22 }

Edytuj: Oryginalny plakat zmodyfikował moje rozwiązanie do swoich potrzeb i przedstawił następujące informacje:

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

To zapytanie da wynik { arr: 77 } biorąc pod uwagę rozszerzone dane dostarczone przez PO. Zauważ, że $skip i $limit są potrzebne do wybrania właściwych elementów w hierarchii tablicy.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd uwierzytelniania żagli-mongo w żaglach 0,10

  2. Dodanie tablicy BSON do dokumentu MongoDB 3.2 i wyodrębnienie wartości z powrotem ( MongoCXX 3.2 ) ( C++ 11 )

  3. automatyczny przyrost w node-mongodb-native przy użyciu kolekcji liczników

  4. Wyszukiwanie wyrażeń regularnych MongoDB — zaczyna się od użycia sterownika javascript i NodeJS

  5. Nie znaleziono OpenSSL na MacOS Sierra