以下是我认为最适合实施的假设模式
我知道如何使用near参数查找用户:
db.users.find({loc: {$near:[-180,40]}}).limit(3)
但是
1)我正在尝试找出最有效的方法来找到最接近的用户并排除那些不喜欢这个用户的用户。我应该进行两次查询调用???也许某个来自另一个集合的$ where子句?
编辑:我正在考虑制作一个查询以获取所有不喜欢这个特定用户的用户,然后在$ nin中添加这个用户数组作为第二个查询的一部分......但如果这样做会非常慢有超过400,000个条目?
2)Tinder是否向用户显示不喜欢他们的其他用户的个人资料?