python 3.8 上的 Mango 查询
Mango query on python 3.8
我正在尝试从 Python 查询 CouchDB 数据库并且它有效...但不完全。
因此,我创建了一个分区数据库,其中包含电影、评级和标签的分区,每个分区 _id 都是 "partitionName : id"。
现在我想将文档计入评级分区(我下载的 .csv 文件中的 100836)
连接后我这样做:
mango1 = {"selector" : { "_id" : {"$regex" : "^ratings :"}}}
i = 0
for row in db.find(mango1):
i += 1
print ("Ratings are: ", i)
它总是打印 25,但从 GUI 我知道超过 25 个文档。我该如何解决这个问题?我读到 Mango 无法像 SQL.
这样算数
你总是得到 25,因为默认的 CoucheDB 限制是 25 个文档。
你需要增加其中之一
- 限制大小以便一次检索所有文档或
- 进行某种分页,使用起始偏移量检索 25 个文档
增加检索文档的限制
例如,要获取 100 个文档,您可以尝试这样做:
{"selector" : { "_id" : {"$regex" : "^ratings :"}}, "limit": 100}
分页
一种分页形式可能如下所示:
{"selector" : { "_id" : {"$regex" : "^ratings :"}}, "limit": 50, "skip": 100}
此查询将跳过前 100 个文档并获取后面的 50 个文档。
我正在尝试从 Python 查询 CouchDB 数据库并且它有效...但不完全。
因此,我创建了一个分区数据库,其中包含电影、评级和标签的分区,每个分区 _id 都是 "partitionName : id"。
现在我想将文档计入评级分区(我下载的 .csv 文件中的 100836)
连接后我这样做:
mango1 = {"selector" : { "_id" : {"$regex" : "^ratings :"}}}
i = 0
for row in db.find(mango1):
i += 1
print ("Ratings are: ", i)
它总是打印 25,但从 GUI 我知道超过 25 个文档。我该如何解决这个问题?我读到 Mango 无法像 SQL.
这样算数你总是得到 25,因为默认的 CoucheDB 限制是 25 个文档。
你需要增加其中之一
- 限制大小以便一次检索所有文档或
- 进行某种分页,使用起始偏移量检索 25 个文档
增加检索文档的限制
例如,要获取 100 个文档,您可以尝试这样做:
{"selector" : { "_id" : {"$regex" : "^ratings :"}}, "limit": 100}
分页 一种分页形式可能如下所示:
{"selector" : { "_id" : {"$regex" : "^ratings :"}}, "limit": 50, "skip": 100}
此查询将跳过前 100 个文档并获取后面的 50 个文档。