在mongodb中查找所有文档

时间:2018-03-07 09:22:36

标签: php mongodb

我希望用PHP中的子文档显示所有文档(select *)

我知道如何查询所有find(),但是当我有子文档时我不知道该怎么做。我不知道是否有类似find()的东西,或者我需要为每个子文档制作循环。

这将是代码

$mongodatabase->insertOne(
    ['name' => 'Alex',
    'surname' => 'Turner',
    'country' => 'England',
    'birth' => array(
        'day' => 6,
        'month' => 'january',
        'year' => 1986
    ),
]);

简单易学,只需学习。当我尝试var_dump天时,我得到未定义的索引和NULL。

$client = new MongoDB\client;
$db = $client->database;
$mongodatabase = $db->document;
$document = $mongodatabase->find();

foreach ($document as $doc) {
     var_dump($doc->day);
}

但是,我想查询所有。

2 个答案:

答案 0 :(得分:0)

使用$exists - 它可以帮助我们识别非空的元素

db.collection_name.find({
   "birth.day" : { 
      $exists : true
   }
});

如果您需要检查not null和empty,那么我们需要将$type$exists一起使用,$type可以使用不同的值传递,10用于空值检查

db.collection_name.find({
   "birth.day" : { 
      $not : { $type : 10 },
      $exists : true
   }
});

答案 1 :(得分:0)

当你从mongoldb找到确切的数据时你可以使用避难所来限制字段 例如:

db.xxxxx.find(
    {'status':'DELIVRD'}
);