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

Mongoose, sortuj według obcego/wypełnionego klucza

Korzystanie z $lookup (który wykonuje lewe złącze zewnętrzne, podobnie jak sql) w potoku agregacji może rozwiązać ten problem:

router.get('/',function(req,res,next){  
    AgendaCompromisso.aggregate([
    {
        $lookup:
        {
            from: "profissionais", //use the name of database collection not mongoose model
            localField: "profissional",
            foreignField: "_id",
            as: "profissional_doc"
        }
    },

    {
        $unwind: "$profissional_doc"  //remove array
    },

    {
        $sort: {"profissional_doc": -1}  // or {"profissional_doc": 1} for ascending
    }
    ])
    .exec( (err,data) => {
        callback(err,data,res)
    })
});

Tylko uwaga, do wyszukiwania potrzebujesz mongodb w wersji 3.2 lub nowszej.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wyszukiwać dane oddzielone przecinkami w mongodb

  2. Używaj MongoEngine i PyMongo razem

  3. ref Populate() zagnieżdżony w tablicy obiektów

  4. Używanie findOne w mongodb, aby uzyskać element o maksymalnym identyfikatorze

  5. Wymuś mongodb, aby wyświetlał ścisły JSON