尝试基本的 N1QL 选择(官方文档给出的查询的简化版本)似乎只适用于有序参数,至少对我来说不起作用(返回空集):
from couchbase.n1ql import N1QLQuery
from couchbase.bucket import Bucket
bucket = Bucket('couchbase://127.0.0.1/travel-sample')
# ordered param - works
query = N1QLQuery('SELECT airportname, city, country FROM `travel-sample` WHERE city=$1', "London")
# named param - does not work
query = N1QLQuery('SELECT airportname, city, country FROM `travel-sample` WHERE city=my_city', my_city="London")
for row in bucket.n1ql_query(query):
print(row)
命名参数查询有什么问题?
vsr 的答案几乎是正确的,您的查询应该是: query = N1QLQuery('SELECT airportname, city, country FROM `travel-sample` WHERE city=$my_city', my_city="London")
语句文本中的命名变量需要 $ 前缀,但您不需要为命名参数本身添加前缀。
我将为您引用的页面提交文档错误以修复该错误。
谢谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句