我理解使用MongoDB,对于使用复合索引的查询,它必须使用索引中的所有键,或者至少从左侧开始的一些键.例如
db.products.find({ "a":"foo", "b":"bar" })
Run Code Online (Sandbox Code Playgroud)
很乐意使用由{a,b,c}组成的索引.
但是,如果我想查询:
db.products.find( {"a":"foo", "c":"thing" })
Run Code Online (Sandbox Code Playgroud)
我相信这不能使用索引.这可以通过在"b"上添加一个微不足道的条件来解决,例如
db.products.find( {"a":"foo", "b":{ $ne : "" }, "c":"thing" })
Run Code Online (Sandbox Code Playgroud)
即使我实际上并不关心b的价值.这样做的原因是我们目前拥有4500个对象,并且它将继续增长,因此我们希望整合我们的索引以节省资源.
非常感谢.
我正在尝试在我的WAMPServer设置上运行PHPDocumentor.它运行正常,但我想排除某些目录,例如\ sqlbuddy \,它不包含我自己的代码.具有讽刺意味的是,PHPDocumentor似乎忽略了我的--ignore开关.我尝试了几种表达相同方法的方法,但结果相同.下面是我运行它的命令:
php.exe "C:\Users\username\Documents\PhpDocumentor\phpdoc" -t "C:\Program Files\wamp\www\docs" -o HTML:default:default -d "C:\Program Files\wamp\www" --ignore sqlbuddy\ --ignore docs\
Run Code Online (Sandbox Code Playgroud)
非常感谢.