nodejs mongodb jede vs toArray

Ich hatte einen kurzen Blick herum und nichts gefunden, das erfüllt mich mit einer Antwort, aber im Grunde habe ich angefangen, zu verwenden node.js mit express und mongodb zum erstellen einer webapi, statt der üblichen .Net-MVC-Web-API-route.

Eine Sache habe ich bemerkt ist jedoch, um wieder eine Sammlung von Ergebnissen, die ich bin, es zu tun in einem eher sperrigen Weg, oder so fühlt es sich zumindest.

app.get('/property', function (req, res) {
    var propArray = [];
    MongoClient.connect(settings.connection,
        function (err, db) {
            if (err) throw err;

            var properties = db.collection("PROPERTIES");

            var searchParams = {
                Active: true,
                Deleted: false
            }

            properties.count(searchParams, function (err, count) {
                properties.find(searchParams).toArray(function (err, result) {
                    for (i = 0; i < count; i++)
                        propArray.push(new models.propertyModel(result[i]));

                    db.close();

                    return res.json(propArray);
                });
            });
        }
    );
});

Nun habe ich festgestellt, dass es eine .each Funktion eher als .toArray ich würde es vorziehen, zu verwenden, wie ich konnte schneiden Sie die .count Funktion aber offensichtlich kann man nur eine Antwort zurück einst. Ich fragte mich, wenn Euch kann mich aufklären mit einigen Ihrer mongo wissen.

properties.find(searchParams).each(function (err, result) {
    return res.json(result);
});

Etwas wie,, schneiden aus 6 Zeilen code und ein extra-Aufruf an die Datenbank.

Warum nicht verwenden, verwenden Sie einfach result.length statt count?
Ahhh danke, ich wusste nicht, über diesen Dank, dass ist genau die Art von Sache, die ich zu hören hoffte
Das ist perfekt gearbeitet, ich danke Ihnen sehr!

InformationsquelleAutor The Angry Saxon | 2014-07-13

Schreibe einen Kommentar