我在做的是:
1)创建了一个新的分片数据库。 2)创建了两个新的分片集合(源和目标)并在其中转储数据 3)然后我在一个接一个地运行两个分片集合上运行两个map reduce并将MR的结果放在同一个集合中(比如j_30052014125600)。
这完全正常。我在
的分片群集上运行所有这些问题是当我执行查询来计算文档时
db.j_30052014125600.find({"value.ID": 305763}).count()
,
我得到了正确的计数2,但是当我执行查找查询时
db.j_30052014125600.find({"value.ID": 305763})
,
我只收到一份文件。
我在这里复制了一个小屏幕截图,可以帮助你们理解。
为什么会这样?任何人都可以解释一下吗?
由于
更新
mongos> db.j_30052014125600.find({"value.ID": 305763}).explain()
{
"clusteredType" : "ParallelSort",
"shards" : {
"firstset/192.168.1.1:10002,192.168.1.2:10001" : [
{
"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 0,
"nscannedObjects" : 519034,
"nscanned" : 519034,
"nscannedObjectsAllPlans" : 519034,
"nscannedAllPlans" : 519034,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 1,
"millis" : 508,
"indexBounds" : {
},
"server" : "VM1:10002"
}
],
"secondset/192.168.1.1:10003,192.168.1.3:10004" : [
{
"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 1,
"nscannedObjects" : 280944,
"nscanned" : 280944,
"nscannedObjectsAllPlans" : 280944,
"nscannedAllPlans" : 280944,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 289,
"indexBounds" : {
},
"server" : "VM2:10004"
}
]
},
"cursor" : "BasicCursor",
"n" : 1,
"nChunkSkips" : 1,
"nYields" : 0,
"nscanned" : 799978,
"nscannedAllPlans" : 799978,
"nscannedObjects" : 799978,
"nscannedObjectsAllPlans" : 799978,
"millisShardTotal" : 797,
"millisShardAvg" : 398,
"numQueries" : 2,
"numShards" : 2,
"millis" : 533
}