javascript - 如何仅在 mongoDB 和 meteor 中获取不同的值?

标签 javascript mongodb chat meteor

所以可以说我的聊天数据库充满了这些数据:

{_id: "39e92f36-5d0f-44b7-8948-89be9b85bd08", fromPerson: "John Smith", toPerson: "Bob Smith", message: "Hey Buddy"}
{_id: "39e92f36-5d0f-44b7-8948-89be9b85bd08", fromPerson: "John Smith", toPerson: "Joe Smith", message: "Hi how you doing"}
{_id: "39e92f36-5d0f-44b7-8948-89be9b85bd08", fromPerson: "Tom Smith", toPerson: "Bob Smith", message: "Hello Again!"}
{_id: "39e92f36-5d0f-44b7-8948-89be9b85bd08", fromPerson: "Bob Smith", toPerson: "John Smith", message: "Hello Again!"}

我想通过查询这个 mongoDB 返回一组唯一的结果。我该怎么做?

以SQL+php为例:

从chatsDB中选择Person Distinct;

我现在的想法是使用来自和去往人员的列表呈现模板,以获取用户与之交谈过的人的“chatUserList”。

最佳答案

MongoDB 有一个 distinct()在这种情况下,该命令完全符合您的要求。

为所有聊天查找不同发件人的示例:

> db.chatsDB.distinct('fromPerson');
[ "John Smith", "Tom Smith", "Bob Smith" ]

使用查询过滤器查找向“John Smith”发送消息的唯一人员的示例:

> db.chatsDB.distinct('fromPerson', { toPerson: 'John Smith'});
[ "Bob Smith" ]

如果这将成为您应用程序的常见查询类型,您应该添加适当的索引......例如,在 fromPerson(fromPerson, toPerson) 上。

关于javascript - 如何仅在 mongoDB 和 meteor 中获取不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12107319/

相关文章:

javascript - [HTML CSS JS]防止用户使用 before 元素更改值

javascript - 过滤与第二个数组中的值匹配的对象数组

MongoDB概念直接访问文件或访问导入数据(访问RAW数据)

mongodb - Mgo 拉取更新不起作用

javascript - 为什么当我使用 jQuery 为盒子设置动画时,CSS3 盒子阴影会分离?

javascript - 如何为 SharePoint 网站上部署的聊天机器人配置 SSO?

linux - 关闭 Docker 容器内的 MongoDB 会导致 100% CPU

Android:Quickblox 客户端未连接或不再连接。错误

javascript - 为每个用户分配一种颜色

javascript - 在 NodeJS 聊天应用程序中对齐消息