询问如何编写php语法来查询mongo obj
如何编写询问如何编写php语法来查询mongo obj,php,mongodb,Php,Mongodb,如何编写php语法来查找tel字段中包含'910'的mongo对象 { _id: ObjectId("531aabd8a6ddc85421ad9d4d"), IDcard: "", address: "", birthdate: "", code: "109901", company: "Beger", created: "09-07-2014", email: "", gender: "Male", group:
php
语法来查找tel字段中包含'910'
的mongo
对象
{
_id: ObjectId("531aabd8a6ddc85421ad9d4d"),
IDcard: "",
address: "",
birthdate: "",
code: "109901",
company: "Beger",
created: "09-07-2014",
email: "",
gender: "Male",
group: "531434e6a6ddc80a565b3deb",
name: "John Henry",
note: "",
photo: "",
tel: {
mobile: "0872223910",
home: "083772771"
},
type: "D"
}
您似乎需要以下查询:
db.collection.find({
“$or”:[
{“tel.mobile”:{“$regex”:“910”},
{“tel.home”:{“$regex”:“910”},
]
})
或者直接使用PHP语法:
$collection->find(数组)(
“$或”=>数组(
数组('tel.mobile'=>数组('$regex'=>'910')),
数组('tel.home'=>数组('$regex'=>'910'))
)
));
它与运算符相结合,允许在任一字段上进行可能的匹配
使用的查询在没有锚定字段开头的情况下效率不高,但本质上是如何在字符串的“部分”中查找内容
还强烈推荐一个基本的代码段,因为您将发现的大多数示例都是适用于MongoDB shell的JSON语法:
print_r(json_decode($json));
您似乎需要以下查询:
db.collection.find({
“$or”:[
{“tel.mobile”:{“$regex”:“910”},
{“tel.home”:{“$regex”:“910”},
]
})
或者直接使用PHP语法:
$collection->find(数组)(
“$或”=>数组(
数组('tel.mobile'=>数组('$regex'=>'910')),
数组('tel.home'=>数组('$regex'=>'910'))
)
));
它与运算符相结合,允许在任一字段上进行可能的匹配
使用的查询在没有锚定字段开头的情况下效率不高,但本质上是如何在字符串的“部分”中查找内容
还强烈推荐一个基本的代码段,因为您将发现的大多数示例都是适用于MongoDB shell的JSON语法:
print_r(json_decode($json));
您似乎需要以下查询:
db.collection.find({
“$or”:[
{“tel.mobile”:{“$regex”:“910”},
{“tel.home”:{“$regex”:“910”},
]
})
或者直接使用PHP语法:
$collection->find(数组)(
“$或”=>数组(
数组('tel.mobile'=>数组('$regex'=>'910')),
数组('tel.home'=>数组('$regex'=>'910'))
)
));
它与运算符相结合,允许在任一字段上进行可能的匹配
使用的查询在没有锚定字段开头的情况下效率不高,但本质上是如何在字符串的“部分”中查找内容
还强烈推荐一个基本的代码段,因为您将发现的大多数示例都是适用于MongoDB shell的JSON语法:
print_r(json_decode($json));
您似乎需要以下查询:
db.collection.find({
“$or”:[
{“tel.mobile”:{“$regex”:“910”},
{“tel.home”:{“$regex”:“910”},
]
})
或者直接使用PHP语法:
$collection->find(数组)(
“$或”=>数组(
数组('tel.mobile'=>数组('$regex'=>'910')),
数组('tel.home'=>数组('$regex'=>'910'))
)
));
它与运算符相结合,允许在任一字段上进行可能的匹配
使用的查询在没有锚定字段开头的情况下效率不高,但本质上是如何在字符串的“部分”中查找内容
还强烈推荐一个基本的代码段,因为您将发现的大多数示例都是适用于MongoDB shell的JSON语法:
print_r(json_decode($json));
在PHP中,您可以使用
$search=newmongoregex(“/910/”);
$cursor=$collection->find(数组)(
“$或”=>数组(
数组(“tel.mobile”=>$search),
数组(“tel.phone”=>$search)
)
));
回声“;
foreach($cursor作为$value){
打印(价值);
}
回声“;
在PHP中,您可以使用
$search=newmongoregex(“/910/”);
$cursor=$collection->find(数组)(
“$或”=>数组(
数组(“tel.mobile”=>$search),
数组(“tel.phone”=>$search)
)
));
回声“;
foreach($cursor作为$value){
打印(价值);
}
回声“;
在PHP中,您可以使用
$search=newmongoregex(“/910/”);
$cursor=$collection->find(数组)(
“$或”=>数组(
数组(“tel.mobile”=>$search),
数组(“tel.phone”=>$search)
)
));
回声“;
foreach($cursor作为$value){
打印(价值);
}
回声“;
在PHP中,您可以使用
$search=newmongoregex(“/910/”);
$cursor=$collection->find(数组)(
“$或”=>数组(
数组(“tel.mobile”=>$search),
数组(“tel.phone”=>$search)
)
));
回声“;
foreach($cursor作为$value){
打印(价值);
}
回声“;
您的tel属性是一个子文档。是否要检查手机号码或家庭号码?您的tel属性是一个子文档。是否要检查手机号码或家庭号码?您的tel属性是一个子文档。是否要检查手机号码或家庭号码?您的tel属性是一个子文档。你想查看手机号码还是家庭号码?OP询问如何用PHP编写查询。@ChristianP哦,那好吧,但最初的投诉者和亲密的选民似乎根本看不到答案。我真的认为现在每个人都应该能够阅读JSON语法,并且应该知道如何转换。显然,如果只是发布一个PHP代码版本,而这个版本正是前面给出的答案,那么有人会这么做。你不觉得应该这样吗。很遗憾有人认为抄袭答案是可以的。你可以接受我在那之前给出的答案来帮助我。很高兴它有帮助。OP问如何用PHP编写查询。@ChristianP哦,那好吧,但最初的抱怨者和亲密的选民似乎根本看不到答案。我真的认为现在每个人都应该能够阅读JSON语法了
$search = new MongoRegex("/910/");
$cursor = $collection->find(array(
'$or' => array(
array("tel.mobile" => $search),
array("tel.phone" => $search)
)
));
echo "<pre>";
foreach ($cursor as $value) {
print_r($value);
}
echo "</pre>";