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

标签 javascript mongodb mongoose mongodb-query

我有一个带有 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

关于javascript - 如何从 Mongoose 的集合中排除一个特定字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14559200/

相关文章:

node.js - 无法更新 Mongoose 中的createdAt属性?

javascript - 尝试多种方法使力定向图的节点大小与其度数成比例

javascript - 使用 javascript 注入(inject) html 的最佳方法

javascript - Javascript查找没有ID、标签名称的标签值

node.js - 更新 mongodb 时 JavaScript 堆内存不足

javascript - Node.js、Express 和 Mongoose 提供多个静态文件

javascript - jquery 将 li 元素添加到数组

javascript - 如何获取javascript对象中具有相似值的键的数量?

mongodb - 如何使用 Mongodb 在数组和对象中设置差异

python - 尝试使用 python 连接到 mongodb atlas 时连接超时