最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Mongoose多连接与Hapijs相同的DB

运维笔记admin9浏览0评论

Mongoose多连接与Hapijs相同的DB

Mongoose多连接与Hapijs相同的DB

我正在与Hapijsmongoose合作,问题是一些URL真的与mongoose密集。 A, B, C是3种不同的模式。此查询可能需要一些时间,具体取决于array大小。问题是当mongoose正在处理此请求时,它无法处理另一个请求。例如,如果某些人正在进行导入,则没有其他人可以登录系统。

我尝试了mongoose poolSize的选项,但这不起作用。

任何ideas我怎么能克服这个?

  buildArticle: function(articles, req, res) {
    let bulkUpdateOps = articles.map(function(article) {
      return A.findOneAndUpdate(
            query
        )
        .then(function() {
          return B.findOneAndUpdate(
            query
          );
        })
        .then(function(resultado) {
            some stuff
        })
        .then(function(resultado) {
          return {
            updateOne: {
              filter: {
               query
              },
              update: {
                data
              },
              upsert: true
            }
          };
        })
        .catch(function(err) {
          console.log(err);
          return res(Boom.badImplementation("Error: ", err));
        });
    });

    Promise.all(bulkUpdateOps)
      .then(function(ops) {
        return C.bulkWrite(ops, {
          ordered: true,
          w: 1
        });
      })
      .then(_ => {
        return res("Imported");
      })
      .catch(function(err) {
        console.log(err);
        return res(Boom.badImplementation("Error: ", err));
      });
回答如下:

解决了Indexes和.lean()的问题。其中一个查询是基于多个字段和文本的查找。我做了一些索引,速度提高了很多(加上使用.lean())。

发布评论

评论列表(0)

  1. 暂无评论