sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoid - grænse for distinkt forespørgsel

distinct i MongoDB er en kommando og kommandoer returnerer ikke markører. Kun markører understøtter limit(), hvorimod kommandoresultater ikke understøttes, ligesom sort() ikke understøttes her, og jeg synes, sortering er vigtig nok til at køre først, ellers ved du aldrig, hvilke "første to" forskellige elementer du får

Der er en vej uden om dette, men ved at bruge aggregeringsrammen. I almindelig MongoDB-forespørgselstale (som du bruger på MongoDB-skallen), ville du bruge:

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

I Mongoid formoder jeg, at du kan ændre den første linje til:

Place.collection.aggregate( [



  1. Henviser til et andet skema i Mongoose

  2. Er det muligt at returnere et beregnet felt fra en MongoDB-forespørgsel?

  3. hvor er standard installationsmappe for mongodb

  4. Opdater flere rækker betinget