gpt4 book ai didi

php - Mongodb 不使用 php 获取嵌入式文档

转载 作者:可可西里 更新时间:2023-11-01 10:49:16 24 4
gpt4 key购买 nike

这是不获取嵌入文档的代码。

<?php 
include 'vendor/dbcon.php';
$documentlist = $state -> find(['s_name' => 'West Bengal'],
['projection' => ['_id' => 0, 'places._id' => 1]] );

foreach ($documentlist as $doc) {
echo $doc["places._id"] . "\n";
}
?>

ERROR shows: Notice: Undefined index: places._id in C:\xampp\htdocs\Education\Home.php on line 130

如果代码是这样的:

foreach ($documentlist as $doc) {
echo $doc["_id"] . "\n";
}

then ERROR:: Notice: Undefined index: _id in C:\xampp\htdocs\Education\Home.php on line 130

数据库结构:Mongodb

 db.state.find().pretty()

{
"_id" : "state1",
"s_name" : "West Bengal",
"places" : [
{
"_id" : "Bardhaman",
"pin" : "754216"
},
{
"_id" : "Jalpaiguri",
"pin" : "754217"
}
]
}

请帮助我如何打印所有 places._id 列表(例如 Bardhaman、Jalpaiguri)

最佳答案

投影没有问题,只是要访问的符号是 PHP 符号,而不是在 PHP 中的“点符号”。当然“places”是一个数组,所以你需要迭代:

  $documentlist = $state->find([],[ '_id' => 0, 'places._id' => 1 ]);

foreach ($documentlist as $doc) {
foreach($doc['places'] as $place) {
echo $place['_id'] . "\n";
}
}

产生:

Bardhaman
Jalpaiguri

关于php - Mongodb 不使用 php 获取嵌入式文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44388299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com