如何在文档具有包含特定字符串的数组的 CouchDB 中查找文档?

How to find document in CouchDB where document has an array that contains a specific string?

我刚刚开始使用 CouchDB。

我们有一个数据库,其中的文档如下所示:

  "_id": "43538c8409dd",
  "_rev": "123",
  "audit": false,
  "members": {
    "users": [
      {
        "dn": "cn=newuser1,ou=people,dc=foo,dc=com",
        "dateAdded": "2020-12-02T16:52:41:748Z"
      },
      {
        "dn": "cn=newuser2,ou=people,dc=foo,dc=com",
        "dateAdded": "2020-12-02T16:52:41:748Z"
      }
    ],
    "groups": []
  },
.
.
.
}

我试图在数据库中查找包含(例如)“dn”且值为“cn=newuser1,ou=people,dc=foo,dc=com”的所有文档。

我试过这样的选择器:

   "selector": {
      "users": {
         "$elemMatch": {
            "dn": "cn=newuser1,ou=people,dc=foo,dc=com"
         }
      }
   }
}

我知道有几个文档应该匹配,但我得到的是“找不到文档”。

谁能告诉我为什么这个搜索不起作用?

谢谢, 吉姆

相当重要的 members 字段未指定。这可能是预期的查询

{
   "selector": {
      "members.users": {
         "$elemMatch": {
            "dn": "cn=newuser1,ou=people,dc=foo,dc=com"
         }
      }
   }
}