使用$ near有效地查找用户并排除那些不喜欢用户的用户

时间:2015-09-06 09:16:10

标签: mongodb mongoose mongodb-query

以下是我认为最适合实施的假设模式

  • 用户
    • 用户id
    • 如first_name
    • 年龄
    • 性别
    • location(lat,lon)
  • 相配
    • userId(选民)
    • 喜欢(投票)
    • liked_UserId

我知道如何使用near参数查找用户:

db.users.find({loc: {$near:[-180,40]}}).limit(3)

但是

1)我正在尝试找出最有效的方法来找到最接近的用户并排除那些不喜欢这个用户的用户。我应该进行两次查询调用???也许某个来自另一个集合的$ where子句?

编辑:我正在考虑制作一个查询以获取所有不喜欢这个特定用户的用户,然后在$ nin中添加这个用户数组作为第二个查询的一部分......但如果这样做会非常慢有超过400,000个条目?

2)Tinder是否向用户显示不喜欢他们的其他用户的个人资料?

0 个答案:

没有答案