Hier ist der Code von meinem node.js Backend:Iterate über MongoDB Cursor von Aggregat
app.get('/getpossibleconnections', auth, function(req, res){
if (req.authenticated == false){
res.send("Your session has expired.");
} else {
User.aggregate([
{ $match: { _id: { $nin: req.decoded.username.connections } } },
{ $sample: { size: 10 } },
]).next(function(err, docs) {
console.log("horray");
});
}
});
Ich habe versucht zu ersetzen next()
mit toArray()
und each()
wie hier vorgeschlagen:
http://mongodb.github.io/node-mongodb-native/2.0/tutorials/aggregation/
jedoch Ich erhalte jedes Mal denselben Fehler:
TypeError: User.aggregate(...).next is not a function
Warum kann ich nicht über die zurückgegebenen Dokumente mit irgendeiner Funktion iterieren?
Liegt das daran, dass User
keine Sammlung ist?
eine mögliche Lösung wäre, einfach einen Callback zu übergeben und das Ergebnis zu iterieren – Radioreve
was ist die Variable "User" zugewiesen? in dem Link zur Verfügung gestellt, sie eine Verbindung zu einer Datenbank und dann eine Variable zu einer Sammlung in dieser Datenbank setzen, machst du das gleiche? – devonJS
@devonJS Benutzer ist ein Modell, aber ich benutze Mungo und von dem, was ich verstehe, verbindet Mungo automatisch eine Sammlung mit jedem Modelltyp. – db2791