我运行命令ID = (int)x.Field<double>("ID"),
ErrorDescription = x.Field<string>("ErrorDescription"),
ErrorDescriptionWithParent = x.Field<string>("ErrorDescriptionWithParent"),
ParentID = (int)x.Field<double>("ParentID"),
,结果让我感到困惑。
为什么db.currentOp().inprog
为ns
,而""
为空对象。
query
}
答案 0 :(得分:1)
我认为第一种方法是理解方法currentOp()的目的。它由Mongo定义,&#34;返回一个文档,其中包含有关数据库实例的正在进行的操作的信息。&#34;在这里,您可以传入一个名为&#34; <34>操作&#34;的可选参数。以下分类输入参数定义。
指定要报告的操作。可以传递布尔值或 document.Specify为包含空闲连接和系统操作的操作。指定具有查询条件的文档,以仅报告与条件匹配的操作。
现在,根据定义,您可以指定参数来定位正在进行的所需操作。其中,您已指示ns和query均为null。这样表示是因为您没有指定要查看其操作的命名空间(ns)或文档(查询)。基本上,将显示的是您希望查看当前操作的值。
例如,对于db.collection.find()操作,查询包含 查询谓词。
以下是传递给currentOp()方法的命名空间参数的示例。
db.currentOp(
{
"active" : true,
"secs_running" : { "$gt" : 3 },
"ns" : /^db1\./
}
)
这是一个文档查询,其中包含&#34; waitingForLock&#34;条件也是如此。
db.currentOp(
{
"waitingForLock" : true,
$or: [
{ "op" : { "$in" : [ "insert", "update", "remove" ] } },
{ "query.findandmodify": { $exists: true } }
]
}
)
有关详细信息,请查看http://docs.mongodb.org/manual/reference/method/db.currentOp
希望这有帮助!