好的,这是我的问题。我数据库中的每个用户都有名为“朋友”的字段。每次添加朋友时,它都会获得一个唯一的 id,并根据该 id 的字符串类型版本在朋友字段中键入,如下所示:
$user = AppDatabase::getInstance()->getUser($user_id);
$user_friends = $user['friends'];
$new_friend = array
(
'friend_id'=>new MongoId($friend_id),
'nickname'=>(string)$nickname,
'friendpic'=>''
);
$user_friends[(string)$friend_id] = $new_friend;
这一切都很好,工作正常,我在 db 中得到如下所示的结果:
'friends':
{
503da7ba65d351681a00000c
{
'friend_id':{$oid:503da7ba65d351681a00000c},
'nickname':"Heisenberg",
'friendpic':''
}
}
现在,我需要做的是只使用他们的friend_id而不知道user_id(或有关用户的任何信息)来找到朋友。我对如何做到这一点有点困惑,基本上我脑海中的过程是:
- 传入好友的id
- 查询用户的收藏
- 查找所有“user_friends”字段
- 从中找到与我最初传入的id匹配的key
- 以正确的朋友对象结束
我正在尝试的所有方法都没有真正起作用。也许我的数据结构不正确。如果有人能让我走上正确的道路,我将不胜感激。
干杯!