0

我正在使用 CouchDB v3.1.0 并试图创建一个选择器/{db}/_find来查找名为“foobar”的文档。

在 docs 部分1.3.6.1.1 Selector Basics,有几个提到 a $title

"selector": {
  "$title": "Live And Let Die"
}

但是,当我尝试像这样使用它时:

curl -X POST -H "Content-Type: application/json" \
http://my-host-machine:5984/testdb/_find \
-d '{"selector":{"$title":"foobar"}}' --user admin | jq .

输出以下错误消息:

{
  "error": "invalid_operator",
  "reason": "Invalid operator: $title"
}

起作用的是使用选择中的_id字段:'{"selector":{"_id":"foobar"}}'

但是,使用文档的唯一标识符感觉不正确。我的问题:

  • $title行得通吗?(我是不是用错了)
  • _id合适的方法吗?
4

1 回答 1

1

如果名称字段具有美元符号 ( $) 前缀,CouchDB 会将其解释为operator$title然而,它不是一个有效的运算符,并且selector文档中的相关示例似乎是错误的。

另一方面,当您需要通过以美元符号 ( $) 开头的字段选择文档时,此答案可能很有用。

于 2020-09-12T07:19:46.230 回答