如何在couchdb中使用size数组查找

wrrgggsh  于 2022-12-09  发布在  CouchDB
关注(0)|答案(3)|浏览(205)

如何创建一个查询CouchDB来检索元素大小大于X的所有文档。
此查询返回所有文档where movies.size = 3

{
 "selector": {
  "movies": { "$size": 3}
  }
}

我需要找到where movies.size > 3
我使用的是CouchDB 2.1.1

disho6za

disho6za1#

Mango目前还不支持这个功能。不过,实现起来应该不难。目前,你可以创建一个索引数组长度的视图。从这个视图中,你可以使用end_key=3来获取长度小于3的文档。

bd1hkmkf

bd1hkmkf2#

如果列表不是很长,请考虑使用$或运算符:

"$or": [
  {"movies": {"$size": 4}},
  {"movies": {"$size": 5}},
  {"movies": {"$size": 6}},

]
juzqafwq

juzqafwq3#

这适用于版本3.1.1。

{
   "selector": {
      "movies.4": {
         "$exists": true
      }
   }
}
  • 琐碎的澄清:4是因为你要求〉3。如果你需要〉= 3,使用电影。

但是,我不认为有一种方法可以索引数组的元素。
我保留了来自MongoDb解答者https://stackoverflow.com/a/15224544/846168的解答

相关问题