【发布时间】:2018-01-09 21:40:21
【问题描述】:
我需要检查 PHP7 的 MongoDB 查询中是否存在字符串。在过去,这很容易:
// Trying to find $username
$dbserver = new MongoClient();
$db = $dbserver->databasename;
$collection = $db->collectionname;
$queryDbFind = $collection->findOne(array("user" => $username));
if(empty($queryDbFind[$username])){
echo "empty";
} else {
echo "not empty";
};
现在有了新的 PHP 驱动程序,我在其中执行如下查询:
$db = new MongoDB\Driver\Manager("mongodb://localhost:27017")
$query1 = new MongoDB\Driver\Query(['user' => $username], ['limit' => 1, 'projection' => ['user' => 1, '_id' => 0]]);
$dbread1 = $db->executeQuery('goodcv.userbase', $query1);
这就是我卡住的地方。我得到了对象,但无法检查该对象中是否存在 $username。
我试过了:
$result1 = $dbread1->toArray();
if(empty($result1->user)){
echo "user exist";
} else {
echo "user does not exist";
};
不工作:( 返回结果的唯一方法是:
foreach($result1 as $row){
echo $row->user;
};
但这不是正确的做法吗?
【问题讨论】:
标签: mongodb mongodb-query php-7