我有两个不同的选择:收藏夹和照片。 它们看起来像这样:
收藏夹
{
"user_id" : "1234",
"photo_id" :"123",
}
照片
{
"photo_id" : "123",
"user_id" :"1234",
"photo_url":"service/photos"
}
我想从给定的用户ID返回所有照片网址。 所以首先我选择了特定用户的照片ID 像这样的东西:
// access database
$db = $conn->$dbname;
// access collection
$favorits = $db->favorits;
$fotos=$db->photos;
$object=
array(
"id_user" => id_user
)
$cursor = $favorits->find($object);
从这里开始,我试图获得一个具有该值的数组 photo_url字段。 我想我可以用foreach做点什么,但什么都没做 到目前为止工作。 谢谢你们!
编辑:得到它。不知道我能得到一些具体的价值观。这是我的解决方案:
// Config
$dbhost = 'localhost';
$dbname = 'db_service';
$id_user = $_GET['id_user'];
// open connection to MongoDB server
$conn = new Mongo($dbhost);
// access database
$db = $conn->$dbname;
// access collection
$favorits = $db->favorits;
$photos=$db->photos;
$object=
array(
"id_use"r => $id_user
);
$cursor = $favoritos->find($object);
foreach($cursor as $document) {
$counter=0;
$photoids[$counter]=$document['id_photo'];
$photo=$photoids[$counter];
$counter++;
$object2=
array(
"id_photo" => $photo
);
$photo_path=$photos->find($object2);
foreach($photo_path as $row){
$path_string=$row['path'];
echo $path_string;
}
}
此代码回应了照片的路径。例如:service / img / app_photos
答案 0 :(得分:0)
由于它们位于2个不同的集合中,因此您必须在每个收藏夹上使用PHP循环,并从照片集中获取照片URL。
但我认为,只需对文档设计进行微小更改,就可以完成所有工作,例如将照片网址放在您喜欢的位置。
类似的东西:
favorite
{
"user_id" : "1234",
"type" : "photo",
"resource" : {
"photo_id" :"123",
"photo_url":"service/photos"
}
}
这将简化您的应用程序代码