如何创建一个查询CouchDB来检索元素大小大于X的所有文档。此查询返回所有文档where movies.size = 3
where movies.size = 3
{ "selector": { "movies": { "$size": 3} } }
我需要找到where movies.size > 3我使用的是CouchDB 2.1.1
where movies.size > 3
CouchDB 2.1.1
disho6za1#
Mango目前还不支持这个功能。不过,实现起来应该不难。目前,你可以创建一个索引数组长度的视图。从这个视图中,你可以使用end_key=3来获取长度小于3的文档。
end_key=3
bd1hkmkf2#
如果列表不是很长,请考虑使用$或运算符:
"$or": [ {"movies": {"$size": 4}}, {"movies": {"$size": 5}}, {"movies": {"$size": 6}}, ]
juzqafwq3#
这适用于版本3.1.1。
{ "selector": { "movies.4": { "$exists": true } } }
但是,我不认为有一种方法可以索引数组的元素。我保留了来自MongoDb解答者https://stackoverflow.com/a/15224544/846168的解答
3条答案
按热度按时间disho6za1#
Mango目前还不支持这个功能。不过,实现起来应该不难。目前,你可以创建一个索引数组长度的视图。从这个视图中,你可以使用
end_key=3
来获取长度小于3的文档。bd1hkmkf2#
如果列表不是很长,请考虑使用$或运算符:
juzqafwq3#
这适用于版本3.1.1。
但是,我不认为有一种方法可以索引数组的元素。
我保留了来自MongoDb解答者https://stackoverflow.com/a/15224544/846168的解答