如何在mongo DB中的多个文档中查找所需的值

时间:2017-10-22 12:34:09

标签: java mongodb rest

I have multiple documents in the collection then I need to find the particular value inside a single document. Is there any way, we can do this? Thanks for any help.

这是我需要从整个集合中获取某些特定值的以下文档。它有四个集合,我们需要为集合中的特定文档找到一个值。

{
"A":{
"A1":"Value A1"
},
"B":{
"B1":"Value B1"
},

"C":{
"C1":"Value C1"
},

"D":{
"D1":"Value D1"
}}

I want to get Value of D1 in the above collection. Is there any way to find it in as single query.

1 个答案:

答案 0 :(得分:1)

我有点困惑,但也许你想要projections。你会做这样的事情(使用java driver):

findIterable = collection.find(eq("_id", "some id")).projection(include("D.D1"));

这样,您只能获得与查询匹配的一条记录,而只返回idD.D1。您当然可以更改查询以获取更多只返回指定字段的记录。

如果您的意思是其他,请澄清。

编辑:我可以看到上面的答案,所以请考虑使用exists运算符,例如:

findIterable = collection.find(exists("D1")).projection(include("D1"));

这样,您只获得具有此字段的记录,并且仅为它们(及其ID)返回此字段。