【发布时间】:2015-01-09 23:01:03
【问题描述】:
使用 Node.js 的本机 mongodb 驱动程序我无法得到正确的解释。 当我使用 mongo shell 时,一切都很好。我的语法错了吗?还有什么我可能做错的吗?
db.user.find({},{explain:true}).toArray
db.user.find({}).explain
这两个我都试过了,用户表中有两个文档,它给了我这个输出:
{ cursor: 'BasicCursor',
isMultiKey: false,
n: 1,
nscannedObjects: 1,
nscanned: 1,
nscannedObjectsAllPlans: 1,
nscannedAllPlans: 1,
scanAndOrder: false,
indexOnly: false,
nYields: 0,
nChunkSkips: 0,
millis: 0,
allPlans:
[ { cursor: 'BasicCursor',
isMultiKey: false,
n: 1,
nscannedObjects: 1,
nscanned: 1,
scanAndOrder: false,
indexOnly: false,
nChunkSkips: 0 } ],
server: 'Rocket.local:27017',
filterSet: false,
stats:
{ type: 'LIMIT',
works: 2,
yields: 0,
unyields: 0,
invalidates: 0,
advanced: 1,
needTime: 1,
needFetch: 0,
isEOF: 1,
children: [ [Object] ] } }
这是错误的。当我在 mongo shell 中运行相同的查询时,它会给出正确的输出:
"cursor" : "BasicCursor",
"isMultiKey" : false,
"n" : 2,
"nscannedObjects" : 2,
"nscanned" : 2,
"nscannedObjectsAllPlans" : 2,
"nscannedAllPlans" : 2,
"scanAndOrder" : false,
"indexOnly" : false,
"nYields" : 0,
"nChunkSkips" : 0,
"millis" : 0,
"server" : "Rocket.local:27017",
"filterSet" : false,
"stats" : {
"type" : "COLLSCAN",
"works" : 4,
"yields" : 0,
"unyields" : 0,
"invalidates" : 0,
"advanced" : 2,
"needTime" : 1,
"needFetch" : 0,
"isEOF" : 1,
"docsTested" : 2,
"children" : []
}
我也遇到了一些其他(相关的问题)......
【问题讨论】:
标签: javascript node.js mongodb