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

Agregacja Mongodb :jak zwrócić tylko pasujące elementy tablicy

Możesz to zrobić za pomocą struktury agregacji 2.2. Coś takiego;

db.books.runCommand("aggregate", {
    pipeline: [
        {   // find docs that contain Par*
            $match: { "indexTokens" : { "$regex" : "^Par" , "$options" : "i"}},
        },
        {   // create a doc with a single array elemm for each indexToken entry
            $unwind: "$indexTokens" 
        },
        {   // now produce a list of index tokens
            $group: {
                _id: "$indexTokens",
            },
        },
    ],
})

Lub może to być jeszcze bliższe temu, czego szukasz, jeśli naprawdę chcesz mieć tablicę bez dokumentacji;

db.books.runCommand("aggregate", {
    pipeline: [
        {   // find docs that contain Par*
            $match: { "indexTokens" : { "$regex" : "^Par" , "$options" : "i"}},
        },
        {   // create a doc with a single array elemm for each indexToken entry
            $unwind: "$indexTokens" 
        },
        {   // now throw out any unwind's that DON'T contain Par*
            $match: { "indexTokens": { "$regex": "^Par", "$options": "i" } },
        },
        {   // now produce the list of index tokens
            $group: {
                _id: null,
                indexTokens: { $push: "$indexTokens" },
            },
        },
    ],
})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB dropIndex()

  2. Wysyłasz zapytania do MongoDB GridFS?

  3. MongoDB PHP Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException:Nie znaleziono odpowiednich serwerów

  4. Dlaczego nie mogę zaktualizować do najnowszej wersji MongoDB za pomocą Homebrew?

  5. Walidacja hasła / potwierdzanie hasła za pomocą schematu Mongoose