2014-01-09 2 views
10

Ich bin etwas neu bei node.js/sails.js und fragte mich (wenn möglich), wie man mehrere Datenbankeinträge durchsucht, indem ich nach ihren IDs suche - es wird so etwas erwähnt in der MongoDB Dokumentation:Sails.js finde mehrere Datenbankeinträge nach ID

db.inventory.find({ qty: { $in: [ 5, 15 ] } })

Und hier ist, was ich versucht habe:

// users param example: 12341243124, 1231231231, 21312313212 
var users = req.param('users').split(','); 

User.find({id: { $in: users }}, function (err, response) { 
    // do something here 
}); 

Jede mögliche Hilfe würde geschätzt! Vielen Dank!

Antwort

24

Sorry für stört - wie sich herausstellt Wasserlinie unterstützt Parameter Array - so durch den Code oben ein wenig zu ändern ich dies an die Arbeit:

User.find() 
    .where({id: users}) 
    .exec(function (err, response) { 
     // do stuff 
    }); 
0

Dies kann mithilfe der MongoDB Abfrage innerhalb der Segel erfolgen Verwenden der nativen Funktion. Diese native Funktion ermöglicht es den Segeln, die Datenbank-Steinbrüche auszuführen.

`User.native(function(err,response){ 
    response.find({ qty: { $in: [ 5, 15 ] } }) 
}).toArray(function (err, results) { 
    //return the result 
    })`