PHP Mongodb find()未按预期工作
我得到了一个非常基本的Mongodb查找请求,它似乎不起作用。PHP7+ 我想要SQL中的类似内容:PHP Mongodb find()未按预期工作,php,mongodb,find,Php,Mongodb,Find,我得到了一个非常基本的Mongodb查找请求,它似乎不起作用。PHP7+ 我想要SQL中的类似内容:where'common'像%Burk% 简单的查询是调用国家集合并生成布基纳法索作为输出 问题1: $countries_tb= $db->selectCollection('country_city_data'); $countries = $countries_tb->find([],[ 'common' => new MongoDB\BSON\Regex('B
where'common'像%Burk%
简单的查询是调用国家集合
并生成布基纳法索作为输出
问题1:
$countries_tb= $db->selectCollection('country_city_data');
$countries = $countries_tb->find([],[
'common' => new MongoDB\BSON\Regex('Burk')]);
var_dump($countries);
var\u dump
打印数据库中的所有内容
问题2:
当我找到(没有空的[])时,它不会转储任何必要的内容
$countries = $countries_tb->find(/*without the []*/ [
'common' => new MongoDB\BSON\Regex('Burk')]);
var_dump($countries);
我明白了:
我也尝试过这种格式
问题3:
$countries = $countries_tb->find(
array('name'=>
array( 'common'=>new MongoDB\BSON\Regex('Burk'))));
var_dump($countries);
仍然没有成功
按照下面的@noobProgrammer
建议,这样做:
产生这个
而不是“布基纳法索”这个词
仍然没有成功所有筛选器都应位于第一个数组参数中
$countries\u tb->find(['area'=>272967,'capital'=>瓦加杜古],
选择权)代码>
第二个参数用于选项。您应该将typeMap作为选项传递,以将对象转换为数组
$options=['typeMap'=>['root'=>'array','document'=>'array']]
我终于成功了
这就是我所做的
$countries = $countries_tb->find(array('name.common' => array('$regex' => 'Burk') ) );
注意name.common中的
这是我的foreach
loop'
foreach( $countries as $country => $name) {
foreach ($name as $n){
if(isset($n->common)){
var_dump($n->common);
}
}
}
//It prints out: country_cities.php:90:string 'Burkina Faso' (length=12)
不知何故,这是行不通的
$countries = $countries_tb->find(
array('name'=>
array('common' =>
array('$regex' => 'Burk')) ) );
这是JSON的
这很有趣,因为我想在SQL中找到类似的东西:其中的'common'类似于%Burk%
,对于这样一个简单的查询
结果仍然相同的人来说,mongodb
方法似乎非常复杂,请检查我上面的编辑。。。。真的用尽了我所有的资源,还是一无所获works@ErickBest,实际查看输出的内容。你能详细解释一下结果吗?我想让它输出单词“布基纳法索”
。。。。我想象这是我们在SQL
中所做的事情,其中的“common”如%Burk%
我有一个foreach循环,但它不会产生预期的结果
$countries = $countries_tb->find(
array('name'=>
array('common' =>
array('$regex' => 'Burk')) ) );
{"_id":"55a0f42f20a4d760b5fc306d","altSpellings":["BF"],"area":272967,"borders":["BEN","CIV","GHA","MLI","NER","TGO"],"callingCode":["226"],"capital":"Ouagadougou","cca2":"BF","cca3":"BFA","ccn3":"854","cioc":"BUR","currency":["XOF"],"demonym":"Burkinabe","landlocked":true,"languages":{"fra":"French"},"latlng":[13,-2],"name":{"common":"Burkina Faso","native":{"fra":{"common":"Burkina Faso","official":"Burkina Faso"}},"official":"Burkina Faso"},"region":"Africa","subregion":"Western Africa","tld":[".bf"],"translations":{"cym":{"common":"Burkina Faso","official":"Burkina Faso"},"deu":{"common":"Burkina Faso","official":"Burkina Faso"},"fin":{"common":"Burkina Faso","official":"Burkina Faso"},"fra":{"common":"Burkina Faso","official":"Burkina Faso"},"hrv":{"common":"Burkina Faso","official":"Burkina Faso"},"ita":{"common":"Burkina Faso","official":"Burkina Faso"},"jpn":{"common":"ブルキナファソ","official":"ブルキナファソ"},"nld":{"common":"Burkina Faso","official":"Burkina Faso"},"por":{"common":"Burkina Faso","official":"Burkina Faso"},"rus":{"common":"Буркина-Фасо","official":"Буркина -Фасо"},"spa":{"common":"Burkina Faso","official":"Burkina Faso"}}}