这是我第一次在stackoverflow中发帖。我希望有人能帮我解决mongoDB PHP的问题。我更像是一个PHP mySql人,但我们突然需要切换到mongoDB。以下是我能给出的最多解释中的问题情况。
想象一下,在mysql中,我有一个名为“photos”的表,其中包含3个字段(img_id,owner_id和file_path)。并记录如下:
记录#1: 1 --- 1 --- image01.jpg
记录#2: 2 --- 2 --- image02.jpg
记录#3: 3 --- 2 --- image03.jpg
然后我有另一个名为“users”的表,其中包含2个字段(user_id,fullname),其中包含以下记录:
记录#1: 1 --- Jhon Doe
记录#2: 2 --- Mark Kane
我只需要显示类似于下面的结果:
1。) John Doe 的图片 1 ,图片ID 1 。 - 的 image01.jpg
2。) Mark Kane 有 2 图片,图片ID为 2 且 3 。 - image01.jpg,image02.jpg
请告诉我如何在mongoDB PHP中完成此操作。提前谢谢。
答案 0 :(得分:0)
$m = new Mongo();
$collection = $m->users;
$collection1 = $m->photos;
$cursor = $collection->find();
$cursor1 = $collection1->find();
$count = 0;
$result = array();
$path = array();
$str = "";
$str1 = "";
foreach($cursor as $obj){
foreach($cursor1 as $obj1){
if($obj['user_id'] == $obj1['owner_id']){
$result[$count] = $obj1['img_id'];
$path[$count] = $obj1['file_path'];
$count++;
}
}
if($count > 1){
for($i = 0; $i < $count; $i++){
$str .= $result[$count]." and ";
$str1 .= $path[$count]." , ";
}
}
else{
$str = $result[0];
$str1 = $path[0];
}
print "$obj['fullname'] has $count image and the image id is $str - $str1 .";
}
希望上面的代码块能够提供所需的结果,代码没有经过测试,因此可能存在一些编译器或语法错误,但我希望你能解决它们。