MongoDB查询时如何仅返回指定的id、name两个特定字段?
你可以通过MongoDB查询的**投影(Projection)**配置来限定返回的字段,只需要给find()方法传入第二个参数,明确指定需要返回的字段即可,修改后的代码如下:
app.get('/', (req, res) => { db.collection('subs') .find( // 第一个参数为查询条件,保持原有逻辑不变 { $text: { $search: 'test' } }, // 第二个参数为投影配置:1表示返回该字段,未配置的字段默认不返回 { _id: 1, name: 1 } ) .toArray((err, result) => { if (err) { // 额外修正原代码的错误写法:err本身是错误实例,无需new实例化 throw err; } res.json({ length: result.length, body: { result }, }); }); });
补充说明:
- 投影规则遵循「白名单优先」原则,只要配置了任意字段值为
1,其余未配置的字段默认都不会返回 _id是MongoDB的默认返回字段,如果你不需要返回_id,可以手动配置_id: 0关闭该字段的返回
内容的提问来源于stack exchange,提问作者Fabdol
相关产品推荐
相关产品推荐

