我写了这个命令:
db.collection.find(
{ $text: {$search: "foo query string"}},
{ score: {$meta : "textScore"} }
).sort({ score:{$meta: "textScore"}})
它在mongo shell
中运行良好,但我希望将其转换为php
。然后我写了不同但相同的php查询:
$store = $db->collection->find([
['$text' => 'foo query string'],
['score' => ['$meta' => 'textScore']]
])->sort(['score' => ['$meta' => 'textScore']]);
在这种情况下,我收到错误:
127.0.0.1:27017: Can't canonicalize query: BadValue must have
$meta projection for all $meta sort keys
显然Index
已创建。
我不知道出了什么问题。你能帮助我吗?提前谢谢。
答案 0 :(得分:1)
您的查询部分出错,我相信应该是
['$text' => ['$search' => 'foo query string']]