Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
嵌入文档的MongoDb$匹配_Mongodb - Fatal编程技术网

嵌入文档的MongoDb$匹配

嵌入文档的MongoDb$匹配,mongodb,Mongodb,上面的代码在mongo shell中工作,但下面的代码不工作为什么 db.entities.aggregate([$match : {"Company.Id" : {$gt : 11}}]) 它什么也不显示 这是我的蒙哥达文件 db.entities.aggregate([{$match : {Company : {Id : {$gt : 11}}}}]) 来自mongodb 当字段包含嵌入文档时,查询可以指定嵌入文档上的精确匹配,也可以使用点表示法指定嵌入文档中各个字段的匹配 所以这会起作

上面的代码在mongo shell中工作,但下面的代码不工作为什么

db.entities.aggregate([$match : {"Company.Id" : {$gt : 11}}])
它什么也不显示

这是我的蒙哥达文件

db.entities.aggregate([{$match : {Company : {Id : {$gt : 11}}}}])
来自mongodb

当字段包含嵌入文档时,查询可以指定嵌入文档上的精确匹配,也可以使用点表示法指定嵌入文档中各个字段的匹配

所以这会起作用

 "_id" : ObjectId("552ca154993cfc98fef1e13c"),
 "Name" : "R",
 "Address" : "RAdd",
"Company" : {
     "Name" : "something",
     "Id" : 14
 }

可能是重复的不那不是我的意思。。!我想知道的是,在$project的情况下,我可以作为db.entities.aggregate([{$project:{Company:{Name:1}}}}])访问嵌入的文档,但在匹配db.entities.aggregate的情况下([{$match:{Company:{Id:{$gt:11}}}}])不会给我任何结果为什么???@pilku:你在最初的问题中没有写任何关于
$project
的东西。我们应该猜猜吗?你可能想要阅读,这大大提高了获得有用答案的可能性。您可能会发现的优秀文章也很有帮助。
db.entities.aggregate([{$match:{Company:{Name:{something}}}}])
-不给出任何结果
db.entities.aggregate([{$match:{Company.Name:“something”}}])
-给出的结果应该是嵌入文档上的精确匹配,而不是单个字段上的精确匹配。如果您使用的是单个字段,则需要使用点表示法。嗯,是的,我尝试使用相同的查找和相同的输出。但是为什么不用$project呢??我的意思是,$project Yes允许
$project
。我猜这是因为为了执行匹配操作,它会查找
{:}
条件,试图将其与公司而不是名称匹配,而投影只是将带有指定字段的文档传递到管道中的下一个阶段。1。我们如何将上述查询转换为java?2.假设我有MapObj,它的结构在json下面,那么我们如何构造上面关于Map对象的查询呢<代码>{“公司”:{“名称”:“某物”,“Id”:14}}
db.entities.aggregate([{
       '$match':{
             "Company" : {
                 "Name" : "something",
                 "Id" : 14
                 }
             }
       }
])