如何检测 CouchDB 中 _find 的结尾?
How to detect end of _find in CouchDB?
使用 CouchDB(windows 上的 3.1.1)我想使用书签机制迭代 /db/_find
的结果。
它工作得很好,但我不知道如何结束循环。代码类似这样:
while true
do
curl -s -X POST $dburl/db/_find -H "Content-Type: application/json" \
-d '{"selector":{bla bla},"bookmark":'$b'}' > result.dat
Extract bookmark from result.dat and assign it to b variable
done
如何结束这样的循环?结果包含一个有效的书签,即使没有更多的文档要返回并且 curl 总是成功。
感谢您的帮助!
马里奥
感谢 RamblinRose 的建议!
这是完美的解决方案:
n=200
b=null
while [ $n = 200 ]
do
x=`curl -s -X POST $db/kb/_find -H "Content-Type: application/json" \
-d '{"selector": {bla bla},"limit":200,"bookmark":'$b'}' | tee -a $tmp | jq '.bookmark,(.docs | length)'`
a=($x)
b=${a[0]}
n=${a[1]}
done
使用 CouchDB(windows 上的 3.1.1)我想使用书签机制迭代 /db/_find
的结果。
它工作得很好,但我不知道如何结束循环。代码类似这样:
while true
do
curl -s -X POST $dburl/db/_find -H "Content-Type: application/json" \
-d '{"selector":{bla bla},"bookmark":'$b'}' > result.dat
Extract bookmark from result.dat and assign it to b variable
done
如何结束这样的循环?结果包含一个有效的书签,即使没有更多的文档要返回并且 curl 总是成功。
感谢您的帮助!
马里奥
感谢 RamblinRose 的建议! 这是完美的解决方案:
n=200
b=null
while [ $n = 200 ]
do
x=`curl -s -X POST $db/kb/_find -H "Content-Type: application/json" \
-d '{"selector": {bla bla},"limit":200,"bookmark":'$b'}' | tee -a $tmp | jq '.bookmark,(.docs | length)'`
a=($x)
b=${a[0]}
n=${a[1]}
done