假设我有一个答案集合,其中每个答案都包含一个 user_ids 数组。
是否可以有一个按 user_ids 数量排序的查询?
Answer.all.desc(num_user_ids)
我可以缓存这个号码,但我希望我不必这样做。我正在使用 mongoid
这可能是这个问题的重复:How can I sort MongoDB query results by inside array size?
总结一下:不,您不能根据需要按数组长度排序,建议在文档中存储一个包含用户数量的附加字段。
不过,您可以使用 MapReduce 来做到这一点。但这会产生另一个表,这可能是不希望的。