希望mongodb查找操作返回特定字段,但返回不带此字段的文档
代码如下希望mongodb查找操作返回特定字段,但返回不带此字段的文档,mongodb,Mongodb,代码如下 db.xxx.find(null,{name:1}) 我希望返回集合中的所有名称,但结果包含没有字段“name”的文档,如下所示 { "_id" : ObjectId("52b6574e55b3a4bd6cf89c62"), "name" : "xxx" } { "_id" : ObjectId("52b657ab55b3a4bd6cf89c63") } 如何删除这些 可以,但我认为这个解决方案很难看。有更好的解决方案吗 @JohnnyHK的评论很有用:“查询参数决定包含哪些文
db.xxx.find(null,{name:1})
我希望返回集合中的所有名称,但结果包含没有字段“name”的文档,如下所示
{ "_id" : ObjectId("52b6574e55b3a4bd6cf89c62"), "name" : "xxx" }
{ "_id" : ObjectId("52b657ab55b3a4bd6cf89c63") }
如何删除这些
可以,但我认为这个解决方案很难看。有更好的解决方案吗
@JohnnyHK的评论很有用:“查询参数决定包含哪些文档,投影参数决定每个文档包含哪些内容”我不确定您认为解决方案的哪些方面不好,但是如果您只想从文档中获得一组不同的
名称值,您可以使用distinct
:
db.xxx.distinct('name')
简单地说:我想要所有名称,如果文档不包含“名称”字段,为什么文档会出现在结果列表中?我可以做一些配置来改变这种行为吗?@zilong这就是MongoDB查询的工作方式。查询参数确定包含哪些单据,投影参数确定每个单据包含哪些内容。
db.xxx.distinct('name')