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

Zwróć tylko wartość tablicy w projekcji mongo

JSON nie pozwala, aby najwyższy poziom był tablicą, więc normalne zapytanie na to nie pozwala. Możesz to jednak zrobić za pomocą struktury agregacji:

> db.test.remove();
> db.test.insert({ name: "Andrew", attributes: [ { title: "Happy"}, { title: "Sad" } ] });
> foo = db.test.aggregate( { $match: { name: "Andrew" } }, { $unwind: "$attributes" }, { $project: { _id: 0, title: "$attributes.title" } } );
{
    "result" : [
        {
            "title" : "Happy"
        },
        {
            "title" : "Sad"
        }
    ],
    "ok" : 1
}
> foo.result
[ { "title" : "Happy" }, { "title" : "Sad" } ]

To jednak nie tworzy obiektu kursora, który tworzy find.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Otrzymuję błąd w problemie z rzutem mongodb dla prawidłowego identyfikatora obiektu

  2. Błąd [ERR_HTTP_HEADERS_SENT] Nie można ustawić nagłówków po ich wysłaniu do klienta

  3. Jak znaleźć zapytania nie używające indeksów lub powolne w mongodb

  4. Czy ORM jest nadmiarowy w przypadku interfejsu API NoSQL?

  5. Osadzony dokument z asocjacją przynależność_to w Mongoid