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

问题描述 投票:0回答:1

我尝试使用 model.find() 的不同变体,但没有一个能达到我想要的效果。

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

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

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

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

W

javascript node.js mongodb iframe mongoose
1个回答
3
投票

你正在寻找的东西叫做投影

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

find
函数的第二个参数告诉返回哪个字段。如果您也不想要
_id
,请使用:
{_id:0, iframe:1}

像这样:

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

但是,投影不会为您提供不同的值。它仅返回您想要使用的字段(以及重复项)。

© www.soinside.com 2019 - 2024. All rights reserved.