如何通过CouchDB视图值查询

时间:2019-05-03 08:20:24

标签: javascript typescript couchdb

我现在正在使用CouchDB,但是遇到了这个问题:

我们的数据库有大约50万个文档,并且运行速度非常缓慢。我创建了一些视图,但这并不能解决我的问题。这是示例文档:

{
 "id": "b50e2160-6cea-11e9-8921-3b58ff294726",
 "key": "1556869935",
 "value": {
  "name": "John",
  "email": "john@doe.com",
  "employer": "Dream Job"
 },
 "doc": {
  "_id": "b50e2160-6cea-11e9-8921-3b58ff294726",
  "_rev": "1-acd658277df379139362344e46149727",
  "userId": "1556869935",
  "name": "John"
  "email": "john@doe.com"
  "address": "Prague 7",
  "cell": "777 999 888",
  "occupation": "Software Engineer",
  "employer": "Dream Job"
 }
}

我可以使用密钥查询整个数据库

db.view('users', 'users-view', {
  'key': '1556869935',
  'include_docs': true
}).then((body) => {
  body.rows.forEach((doc) => {
    console.log(doc.value);
  });
});

但是我想做一些事情,例如给我“ Dream Job”公司的所有名称为“ John”的用户。有什么可能的方法如何从视图中做到这一点?是否可以执行以下示例所示的操作?

db.view('users', 'users-view', {
  'value': {
    "name": "John",
    "employer": "Dream Job"
  },
  'include_docs': true
}).then((body) => {
  body.rows.forEach((doc) => {
    console.log(doc.value);
  });
});

0 个答案:

没有答案