【问题标题】:Nodejs - Mongodb/Mongoose retrieve specific field of all usersNodejs - Mongodb/Mongoose 检索所有用户的特定字段
【发布时间】:2015-08-25 06:50:00
【问题描述】:

我有一张如下表

{ _id: 55db87ed69090a5e4b5515cf,
    firstname: 'Bilbo ',
    lastname: 'Baggins',
    email: 'bilbo@gmail.com',
    points: 0,
    password: '$2a$05$o90atG0rfXQN5X7CLFa59e8QO1PcOcFvH47MXDxVmr2E3id7cSEIG',
    __v: 0 } 

当我运行它时,我会得到所有结果

  User.find({points: req.params.points}, function (err, docs) {
        console.log(docs);
    });

如何使用 points 字段获取所有记录?我希望能够获取每个用户的所有积分并进行计数。

我对 mongodb/mongoose 还很陌生,无法理解它。

【问题讨论】:

    标签: json node.js mongodb mongoose


    【解决方案1】:

    你可以这样做:

    User.find({points: {$exists: true}}, function(err, docs) {
        var count = 0;
        for(var i = 0; i<docs.length; i++) {
            count += docs[i].points;
        }
        console.log('The total of points is: ', count);
    });
    

    {points: {$exists: true}} 查询将只返回定义了该字段的文档。

    【讨论】:

    • 谢谢你做得很好!我将 int 更改为 var 但它会运行。
    • 糟糕,我时常混合语言。 :) 我刚刚用那个更正编辑了答案。
    猜你喜欢
    • 2020-10-02
    • 2012-03-11
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 2020-12-18
    • 2021-02-16
    • 2022-10-12
    • 1970-01-01
    相关资源
    最近更新 更多