热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用mongoDB驱动的find(query,projection),为什么设置了projection还是无法进行字段限制?

代码如下:

代码如下:

1
2
3
4
user.find({ username }, { age: 1, _id: 0 }).toArray((err, doc) => {

  if (err) throw err;

  res.send(doc);

});

结果却是返回:

1
[{"_id":"5cbe59baaf2c3739490fd056","username":"zjr","age":19}]

,没有像上面设置那样只返回age字段,也就是说这种写法没有正确限制字段

我现在的解决办法是使用

1
cursor

1
project

方法,代码如下:

1
2
3
4
5
6
user.find({ username })

  .project({ age: 1, _id: 0 })

  .toArray((err, doc) => {

    if (err) throw err;

    res.send(doc);

  });

结果返回:

1
[{"age":19}]

正确结果
但官网上的API上明确写着

1
find(query, options)

,也就是说可以传入一个对象进行限制字段的输出,但结果不对的,是我哪里出错了吗?


推荐阅读
author-avatar
老邮迢
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有