2012-06-18 35 views
-1

我有一个这样的集合“测试用例”,测试版本有很多测试用例日志和测试用例日志都有很多标签。例如,我有一个查询标签应该有“tag1”。如何查询mongodb中的特定内部对象?

db.test_builds.find({"logs.tags" : "tag1"}) 

问题是它获取测试版本的所有测试用例日志。但是我只想要“tag1”存在的测试用例日志。

例如:

{ 
    "name" : "TestBuild1" 
    "logs: [ 
    {"name" : "Log1" 
    "tags" : ["tag1","tag2"]}, 
    {"name" : "Log2" 
    "tags" : ["tag3","tag4"]} 
    ] 
} 

上面的查询返回的整个测试版本,但我只想要得到测试版本与“LOG1”,而不是“LOG2”。这怎么可能?

+0

http://stackoverflow.com/questions/3985214/mongodb-extract-only-the-selected-item-in-array ,其中列出了几个答案。 –

回答

0

在MongoDB中,你不能从数组中提取部分元素。您需要在客户端进行过滤或按照说明进行映射/减少here

+0

此功能还有JIRA门票https://jira.mongodb.org/browse/SERVER-828 –

+0

[现在你可以](http://stackoverflow.com/questions/3985214/mongodb-extract-only-the - 请选择项式阵列)。 –

相关问题