gpt4 book ai didi

php - MongoDB php $in 和 $regex

转载 作者:可可西里 更新时间:2023-11-01 09:28:24 26 4
gpt4 key购买 nike

我正在尝试结合 $regex 和 $in 来进行简单的搜索。

例如我有这样一个用户查询:

$user_query = "for focus red";

在我的每个文档的 mongodb 集合中,我都有一个关键字字段。我想获取字段关键字所在的文档:

{
keywords :
[0] => ford,
[1] => focus,
[2] => red
}

如您所见,用户输入了“for”而不是“ford”。

如果用户键入 Ford,我可以用 $in 得到结果,但我不知道如何组合 $regex$in,我看过 mongodb 文档和 php mongo 文档。

最佳答案

这是我的快速片段:

$user_query = preg_replace("/[[:blank:]]+/"," ", $user_query);
$arr_query = explode(' ', $user_query);

if (count($arr_query) > 1) {
$tmp = array();

foreach ($arr_query as $q) {
$tmp[] = new MongoRegex( "/". $q ."/" );
}

$who['keywords'] = array('$in' => $tmp);

} else {
$who['keywords'] = new MongoRegex( "/". $user_query ."/" );
}

$db->collection->find( $who );

关于php - MongoDB php $in 和 $regex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6967376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com