benchRun查询与投影
问题描述:
我想基准使用benchRun一些查询。但我没有看到projection的选项。benchRun查询与投影
说我想做以下查询find({_id:1},{children:0})
我该如何构建操作文档来反映这一点? 或者在基准场景中投影没有意义?
文档说:
更新
更新对象(同update()函数的第二参数)。
所以我想我可以做这样的事情:
ops = [
{op: "find", ns: t.getFullName(), query: {_id:1}, update: {children:0}}
]
它并没有失败,但不能肯定是否它实际上做任何事情。
答
有一个未公开的选项(实际上有更多)称为filter
。有关更多信息,请参见GitHub src。
解决办法:
ops = [
{op: "find", ns: t.getFullName(), query: {_id:1}, filter: {children:0}}
]
通常它是没有意义的,因为投影应该在你dB的小操作,如果它不是,那么你有一个设计问题,但是,也许有一个无证'项目'或'投影'选项呢?如果不是那么我不知道 – Sammaye
@Sammaye好建议!我看着src并设法找到一个'filter'选项。 https://github.com/mongodb/mongo/blob/master/src/mongo/scripting/bench.cpp#L436 –