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

Sortowanie wyników zapytania według kolejności elementów w podanej tablicy warunków w Mongoose

Biorąc pod uwagę następujące dane:

db.col.save({ a: "111"})
db.col.save({ a: "112"})
db.col.save({ a: "113"})
db.col.save({ a: "114"})

możesz użyć $match narzędzia Aggregation Framework aby odfiltrować wszystkie elementy, które nie są obecne w określonej tablicy i $addFields z $indexOfArray aby uzyskać index własność. Następnie możesz $sort przez tę właściwość i użyj $project aby usunąć pole tymczasowe. Wypróbuj:

db.col.aggregate([
    {
        $match: { a: { $in: ["112", "111", "113"] } }
    },
    {
        $addFields: {
            index: { $indexOfArray: [ ["112", "111", "113"], "$a" ] }
        }
    },
    {
        $sort: { index: 1 }
    },
    {
        $project: { index: 0, _id: 0 }
    }
])

Wyjścia:

{ "a" : "112" }
{ "a" : "111" }
{ "a" : "113" }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. sterownik c# mongodb jak rzutować podwójną wartość mongo na wartość dziesiętną c#?

  2. Dlaczego data ISO w Mongodb wyświetla się dzień wcześniej?

  3. Nodejs / Express — uruchamianie mojej aplikacji:express.createServer() jest przestarzałe

  4. Czy powinienem zaimplementować autoinkrementację w MongoDB?

  5. MongoDB Regex Query :Dlaczego to nie działa?