我希望用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);
}
但是,我想查询所有。
答案 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'}
);