同时或因此在Couchdb中插入和索引

同时或因此在Couchdb中插入和索引,couchdb,Couchdb,我是couchdb的新手,试图在保存一些文档的同时为它们编制索引 目前我所做的工作如下: app.post("/api/result-store/v1/results/:searchID", (req, res) => { const dbName = "test_" + req.params.searchID; database.checkAndCreateDatabase(dbName).then( db => { const docs = req.b

我是couchdb的新手,试图在保存一些文档的同时为它们编制索引

目前我所做的工作如下:

app.post("/api/result-store/v1/results/:searchID", (req, res) => {
  const dbName = "test_" + req.params.searchID;
  database.checkAndCreateDatabase(dbName).then(
    db => {
      const docs = req.body.objects;
      db.bulk({ docs }).then(
        body => {
          res.send({
            writes: body.reduce((total, currentValue) => {
              return total + (currentValue.ok ? 1 : 0);
            }, 0)
          });
        },
        err => {
          res.send(err);
        }
      );
    },
    err => {
      console.log(err);
    }
  );
});
所以我在上面所做的只是保存,而不是索引。现在,如果我像下面这样查询数据库:

{{url}}/api/result-store/v1/results/jmeter_test_db_size_90_k?q=*:*&limit=200&counts=["qid_name", "datasource"]
然后索引将开始。但这太晚了,因为索引需要时间,客户需要等待索引完成才能得到结果。
我正在考虑在插入文档后立即开始为数据编制索引,以便同时保存和编制索引。有可能吗?任何洞察都是值得赞赏的

因为您使用的是
nano
,您可以在创建数据库之后通过调用来创建索引(根据中的指定,在数据库字段上创建索引)。

看起来您正在使用库或自定义包装来访问
CouchDB
。您能提供进一步的相关信息吗?@u请确保我使用nano:const nano=require(“nano”)(
http://${params.USERNAME}:${params.PASSWORD}@${params.HOST_NAME}:${params.PORT}
);这使得对db的访问更容易谢谢,我将尝试一下,并让您了解动态启动inxeing的过程,还是我们需要查询db以启动索引?因为通常索引只在第一个查询进入后才开始