sql >> Databáze >  >> NoSQL >> MongoDB

Mongoid - limit na odlišný dotaz

odlišný v MongoDB je příkaz a příkazy nevracejí kurzory. Limit() podporují pouze kurzory, zatímco výsledky příkazů ne, stejně jako sort() zde není podporováno a myslím, že řazení je dost důležité na to, aby se spustilo jako první, jinak nikdy nevíte, které „první dvě“ odlišné položky získáte

Existuje způsob, jak to obejít, ale pomocí agregačního rámce. V prostém dotazu MongoDB mluvte (jak používáte v prostředí MongoDB), byste použili:

db.places.aggregate( [
    { $match: { 'tags' : { $in: [ 'food' ] } } },
    { $group: { '_id': '$name' } },
    { $sort: { 'name': 1 } },
    { $limit: 2 },
] );

Předpokládám, že v Mongoidu můžete změnit první řádek na:

Place.collection.aggregate( [



  1. Agregace MongoDB s $sample je velmi pomalá

  2. MongoDB:Jak reprezentovat schéma schématu v diplomové práci?

  3. mongoose index již existuje s různými možnostmi

  4. Vestavěný dokument MongoDB nezíská ID při uložení pomocí ovladače C#