首页 > 解决方案 > Node.js + MongoDB - findOne() 返回一个字段不起作用

问题描述

为什么我不能使用“findOne()”只返回一个字段?在下面的代码中,所有字段都被返回。我也试过“find()”,但还是不行。有人可以告诉我是我犯了错误还是什么?

在这种情况下,我只想返回“信息”字段

const mongodb = require('mongodb').MongoClient
...
db_main.collection('info').findOne({ _id: '123456789' }, { info: 1 }, function(err, result) {
    console.log(result)
})

该文档看起来像这样:

_id: '123456789',
title: 'I love title',
content: 'content here',
info: {
    date: '1/1/2018',
    user: 'username'
}

标签: node.jsmongodb

解决方案


您没有使用投影选项:

{投影:{信息:真实}}

你正在做的方式

{信息:1}

这意味着您正在请求使用信息索引(如果存在)


推荐阅读