我有用户的集合用户相对排行榜,每个用户都有一个点的属性(见下文模式)。查询与MongoDB的
我的最终目标是根据一个特定的用户位置返回有限文件的排序后的数组,或者换句话说,排行榜相对为特定用户位置的一小部分。
目前我查询和排序的所有用户,找到返回数组中我希望用户,并根据该切片阵列。我想知道是否有一个查询可以让我返回所有用户。
样品用户模式:
/* 1 */
{
"_id" : ObjectId("..."),
"points" : 5852 ,
"key" : "user1"
}
/* 2 */
{
"_id" : ObjectId("..."),
"points" : 3835,
"key" : "user2"
}
/* 3 */
{
"_id" : ObjectId("..."),
"points" : 1984,
"key" : "user3"
}
/* 4 */
{
"_id" : ObjectId("...."),
"points" : 2437,
"key" : "user4"
}
让我们假设我想查询返回由点分类3个文件 - “USER4”(我的亲戚用户),在领先后,他的文档的文档(在上面的例子中“用户3”)和他之前1号文件(在上面的例子中“用户2”)
谢谢!
编辑:即时通讯使用猫鼬以及如果这简化了事情。
EDIT2:请看到预期的输出如下 -
/* 1 */
{
"_id" : ObjectId("..."),
"points" : 3835,
"key" : "user2"
}
/* 2 */
{
"_id" : ObjectId("...."),
"points" : 2437,
"key" : "user4"
}
/* 3 */
{
"_id" : ObjectId("..."),
"points" : 1984,
"key" : "user3"
}
注意,作为查询请求1个用户上面排和1个用户排在“USER4”“USER1”没有出现在输出
'USER4,用户3,用户2'?这不是按“分”排序 – styvane
它对您的预期输出很困惑。你能否添加有问题的预期输出? – Vishwas
@Vishwas,感谢您的反馈。我已经添加了预期的输出。 –