Javascript 使用mongoose model.find()只获取1个字段的所有条目

Javascript 使用mongoose model.find()只获取1个字段的所有条目,javascript,node.js,mongodb,iframe,mongoose,Javascript,Node.js,Mongodb,Iframe,Mongoose,我尝试使用model.find()的不同变体,但没有一个能满足我的要求 下面的代码是我正在使用的,但它显示每个字段,我只需要“iframe”字段 下面的代码确实有效,我只得到“iframe”字段,但它会反转json输出,我不希望这样。它也会得到唯一的值,尽管这并不重要,因为每个条目都是唯一的 app.get('/api/videos', function (req, res) { Video.find().distinct('iframe', function (err, docs) {

我尝试使用model.find()的不同变体,但没有一个能满足我的要求

下面的代码是我正在使用的,但它显示每个字段,我只需要“iframe”字段

下面的代码确实有效,我只得到“iframe”字段,但它会反转json输出,我不希望这样。它也会得到唯一的值,尽管这并不重要,因为每个条目都是唯一的

app.get('/api/videos', function (req, res) {
    Video.find().distinct('iframe', function (err, docs) {
        res.json(docs);
    });
});

你要找的东西叫做:

find
函数的第二个参数指示返回哪个字段。如果您不想同时使用
\u id
,则使用:
{\u id:0,iframe:1}

像这样:

Video.find({}, {_id:0, iframe:1}, function (err, docs) {
   res.json(docs);
});


但是,投影并不会给您不同的值。它只返回要使用的字段(以及重复)。

您要查找的内容称为:

find
函数的第二个参数指示返回哪个字段。如果您不想同时使用
\u id
,则使用:
{\u id:0,iframe:1}

像这样:

Video.find({}, {_id:0, iframe:1}, function (err, docs) {
   res.json(docs);
});


但是,投影并不会给您不同的值。它只返回要使用的字段(以及重复)。

您可以使用
projection
参数指定要包含在结果中的字段

db.collection.find(查询、投影)

如果find()包含投影参数,则匹配文档仅包含投影字段和_id字段。您可以选择排除_id字段

投影参数采用以下形式的文档:

{ field1: <boolean>, field2: <boolean> ... }

您可以使用
projection
参数指定要在结果中包含的字段

db.collection.find(查询、投影)

如果find()包含投影参数,则匹配文档仅包含投影字段和_id字段。您可以选择排除_id字段

投影参数采用以下形式的文档:

{ field1: <boolean>, field2: <boolean> ... }

啊,这就是第二个参数的工作原理,我之前读到它时不理解。谢谢你的解释!没问题。更新了我的答案,说投影不会给你不同的值,正如你所知。啊,这就是第二个参数的工作原理,我之前读到它时不理解。谢谢你的解释!没问题。更新了我的回答,我说,
投影
不会给你不同的值,你知道的。
app.get('/api/videos', function (req, res) {
    Video.find({}, {_id:0, iframe:1 }, function (err, docs) {
       res.json(docs);
    });
});