1
消息集合:MongoDB的 - 得到消息線程
{ "members": ["userA", "userB"], "content": "Some message" },
{ "members": ["userA", "userC"], "content": "Some message" },
{ "members": ["userA", "userB"], "content": "Some message 2" }
如果我想通過userA
找到消息線程,我希望這樣的結果:["UserB", "UserC"]
public function findUserThreads($user)
{
$data = $this->getCollection()->find(['members' => $user]);
$threads = [];
while($data->hasNext()){
$msg = $data->getNext();
if($msg['members'][0] != $user) {
$threads[] = $msg['members'][0];
}
if($msg['members'][1] != $user) {
$threads[] = $msg['members'][1];
}
}
return array_values(array_unique($threads));
}
我想這樣做在MongoDB中,不在PHP中。
的期望是什麼輸出?你能更新你的問題嗎? –
你是什麼意思*按用戶分組1 *你的預期結果是什麼?請使用[編輯鏈接](http://stackoverflow.com/posts/33132652/edit)來改善您的問題。 – styvane
所以你想返回'userA'所在的所有用戶的數組。對? – styvane