的编号顺序在数组包含的元素我有一个的MongoDB与期待,因为这类文件的集合:查询的MongoDB在匹配元素
{
_id: ObjectId("5222769532fed3037d000049"),
cat_list: { "52226a8932fed36c3000007e": 1 },
feature_list: {
"52227433abb03fa34b0000fa": 0.2,
"52236117099c8924c500004a": 0.2,
"52236236c71890c199000054": 0.2,
"522374d2842e497d2c00000c": 0.2,
"52237e3b842e493760000021": 0.2 },
title: "blah"
}
现在我基本上婉来查找文档它们与提供给feature_list
中的按键的一组按键相匹配。为此,我想我会使用某种形式的$ in [,],尽管我不知道如何使用key:value列表来完成此操作。 (是不是一样的吗?)
其次,我想订购由降频的结果(如果我能做到这一点在MongoDB中,而不必做它在我的服务器端代码)。所以,如果我查询"52227433abb03fa34b0000fa" OR "52236117099c8924c500004a" OR "52236236c71890c199000054"
,我的结果集将包含所有具有含一种或多种那些在OR列表,并与最大量的比赛将是第一个文档中的feature_list的文件,然后在频率下一个和等等。
只是为了澄清:你想按字段名称查找,而不是按值查找?例如,您是否必须返回完整的匹配文档或仅仅是ID? –