0
function get() {
    return new Promise(function (resolve, reject) {

        Card.find([
            { $sample: {size: 3} }, 
            { $match:  {"deckId": req.body.deckId} }
        ]).exec(function(err,result){
            if(err){
                reject(err);
            }else{
                resolve(result)
            }
        });

    });
}

It gives me all data but i need only 3 random data. i have google about get random N no of data but why not working for me?

Devendra Chauhan
  • 2,567
  • 2
  • 10
  • 12

1 Answers1

0
function get() {
    return new Promise(function (resolve, reject) {

        Card.aggregate([
            { $sample: {size: Number(req.body.wordCount)} }, 
            { $match:  {"deckId": new mongoose.Types.ObjectId(req.body.deckId)} }
        ]).exec(function(err,result){
            if(err){
                reject(err);
            }else{
                resolve(result)
            }
        });

    });
}
Devendra Chauhan
  • 2,567
  • 2
  • 10
  • 12