我有一个 find 查询,我想在其中投影一个字段,另外设置整理选项以使用不区分大小写的索引。
我的查询如下:
$cursor = $collection->find($query, array('projection' => array('fields' => 1), 'collation' => array('locale' => 'en', 'strength' => 2)));
我收到以下错误:
致命错误:未捕获的异常'MongoCursorException',消息'localhost:27017:无法规范查询:BadValue:不支持的投影选项:projection:{fields:1}'
删除'投影'并且只是离开'整理'也不起作用,我收到此错误:
致命错误:未捕获的异常'MongoCursorException',消息'localhost:27017:无法规范查询:BadValue:> obj中的1个字段:{locale:“en”,strength:2}'
我已经确认我在MongoDB 3.4.0上运行。
知道我做错了什么吗?感谢
答案 0 :(得分:1)
这个结构对我有用,但看起来你需要将校对添加到投影中,因为find方法只接受2个参数。您不需要引用数组中的投影,第二个参数将始终是投影。
$projection = array('fields' => 1,'locale' => 'en', 'strength' => 2);
$cursor = $collection->find($query, $projection);