php - 如何通过搜索内部数组来检查记录是否存在

标签 php mongodb mongodb-query

我在数据库中有这条记录

{
   "_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/

相关文章:

PHP - 将变量从一个 PHP 文件传递​​到另一个 PHP 文件

java - 如何使用 Morphia 获取 MongoDB 的所有非结构化字段

spring - 通过构建脚本更改mongo dbname

mongodb - 如何在Mongo中找到最新索引

javascript - java mongodb中数组的聚合和匹配字段

MongoDB 聚合计算小时范围内的产品数量

php - Magento 多商店 - 显示所有商店的产品

php - 比较单词,还需要找复数和ing?

php - WordPress wp.media 上传图片

javascript - 如何在 join sails js 中添加另一个字段