我在数据库中有这条记录
{
"_id": ObjectId("5759ccbcc2b503980c000143"),
"phone": "516-425-5878",
"orders": [
"1338475681",
"1891805481",
"1891805481"
]
}
这是我的代码。
$collection = $mongo_db_obj->selectCollection('scrapers', 'leads');
$data = array(
'phone' => '516-425-5878',
"orders" => array('$in'=>1891805481)
);
$doc = $collection->findOne($data);
dump($doc);
我想检查orders
数组中的特定phone
和订单ID是否存在。但我的代码出现错误。
我也尝试过这个。
$data = array(
'phone' => '516-425-5878',
"orders" => array(1891805481)
);
但它返回空结果。
如何检查?
最佳答案
$in 运算符选择字段值与数组中的值匹配的文档。
请尝试执行以下代码片段作为上述问题的解决方案
$conn = new MongoClient('localhost:27017');
$db = $conn->selectDB("mydb");
$collection=$db->mycoll;
$data = array(
'phone' => '516-425-5878',
"orders" => array('$in'=>array('1891805481'))
);
$data=$collection->findOne($data);
关于php - 如何通过搜索内部数组来检查记录是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775249/