我正在使用带有 Cradle 的 Node.js 来调用 CouchDB 更新处理程序。我需要在查询字符串中传递一个数组,但是当我在 CouchDB 中读取 req.query 对象时,只有第一个数组值可用。因此,例如使用 Cradle .update 方法:
db.update("myview/myupdate", id, {title:'sometitle',tags:['one','two']}, function }...
但是当我检查传递给 CouchDB 的 QS 值时,它是:
?title=sometitle&tags=one&tags=two
然后在 CouchDB 更新函数中, req.query.tags 只给了我“两个”。我注意到 Cradle 使用 require("querystring") 来执行 "querystring.stringify",所以我也尝试了 visionmedia 的 require("qs") 但随后 "qs.stringify" 给了我:
?title=sometitle&tags[]=one&tags[]=two
CouchDB 似乎希望将标签数组传递为:
?title=sometitle&tags=["one","two"]
如何构建一个看起来像这样的查询字符串?