javascript - 如何从 Mongoose 的集合中排除一个特定字段?

我有一个带有 Mongoose ODM(Mongoose 3.3.1) 的 NodeJS 应用程序。我想从我的集合中检索除 1 之外的所有字段。例如:我有一个包含 6 个字段的集合产品,我想选择除字段 "Image"之外的所有字段。我使用了“exclude”方法,但出现错误.. 这是我的代码。

    var Query = models.Product.find();
    Query.exclude('title Image');

    if (req.params.id) {
        Query.where('_id', req.params.id);
    }


    Query.exec(function (err, product) {
        if (!err) {
            return res.send({ 'statusCode': 200, 'statusText': 'OK', 'data': product });
        } else {
            return res.send(500);
        }
    });

但这会返回错误

Express
500 TypeError: Object #<Query> has no method 'exclude'.........

我也试过了,var Query = models.Product.find().exclude('title','Image');var Query = models.Product.find({ }).exclude('title','Image'); 但得到同样的错误。如何从 Mongoose 的集合中排除一个/(两个)特定字段。

最佳答案

使用 query.select用于当前 (3.x) Mongoose 构建中的字段选择。

使用 - 为要排除的字段名称添加前缀;所以在你的情况下:

Query.select('-Image');

顺便说一句:在 JavaScript 中,以大写字母开头的变量应该保留给构造函数。因此,请考虑在您的代码中将 Query 重命名为 query

https://stackoverflow.com/questions/14559200/

相关文章:

mongodb - 截断集合

node.js - Mongoose:CastError:在路径 "[object Object]"

mongodb - 如何将 MongoDB 中的属性从文本类型转换为日期类型?

mongodb - 如何更新 Mongoose 中的多个文档?

mongodb - 如何根据 Mongodb 中的键删除重复项?

python - pymongo.errors.CursorNotFound : cursor id

node.js - 连续迭代 mongodb 游标(在移动到下一个文档之前等待回调)

mongodb - 用于 mongodb ObjectId 创建时间

javascript - 如何在nodejs mongodb native 驱动程序中将字符串转换为

mongodb - 有人用过 Aerospike 吗?它与 MongoDB 相比如何?