【问题标题】:PM2/NodeJS API with mongoDB index problems [duplicate]带有 mongoDB 索引问题的 PM2/NodeJS API [重复]
【发布时间】:2018-12-08 13:45:59
【问题描述】:

我正在尝试使用 PM2 在同一个 Ubuntu VPS 中部署多个 NodeJS rest API,这些 API 用于在同一个本地托管的不同 MongoDB 数据库中提供数据数据库服务器。

我确实遇到了一些端口问题,但我确实在每个应用程序中更改它以解决问题。之后出现一个奇怪的mongoDB 错误。

API listen on port 3001
Connected!
MongoError: Index with pattern: { _fts: "text", _ftsx: 1 } already exists with different options
    at /var/app/my-project/node_modules/mongodb-core/lib/connection/pool.js:593:63
    at authenticateStragglers (/var/app/my-project/node_modules/mongodb-core/lib/connection/pool.js:516:16)
    at Connection.messageHandler (/var/app/my-project/node_modules/mongodb-core/lib/connection/pool.js:552:5)
    at emitMessageHandler (/var/app/my-project/node_modules/mongodb-core/lib/connection/connection.js:309:10)
    at Socket.<anonymous> (/var/app/my-project/node_modules/mongodb-core/lib/connection/connection.js:452:17)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
    at Socket.Readable.push (_stream_readable.js:208:10)
    at TCP.onread (net.js:597:20)

现在,API 不断重启并降低整个系统的速度。请任何人指导我扔这个,注意我只是在维护应用程序。我不是开发人员,我对 mongo 数据库不太熟悉。

谢谢

【问题讨论】:

    标签: node.js mongodb mongoose pm2 mongodb-indexes


    【解决方案1】:

    检查您定义了文本索引的字段。现在 mongodb 每个集合只允许一个文本索引

    db.collection.getIndexes()
    

    你会得到这样的东西

     {
            "v" : 1,
            "key" : {
                "_fts" : "text",
                "_ftsx" : 1
            },
            "name" : "desc_text",
            "ns" : "some.ns",
            "weights" : {
                "title" : 1
            },
            "default_language" : "english",
            "language_override" : "language",
            "textIndexVersion" : 2
        }
    

    现在如果你想在其他列中也使用这个索引,只需删除这个索引

    db.collection.dropIndex('desc_text');
    

    然后通过包含您希望被文本索引覆盖的所有列来重新创建它,

    db.collection.createIndex({
        title:'text'
          ...
    });
    

    【讨论】:

      猜你喜欢
      • 2017-07-24
      • 1970-01-01
      • 2018-06-30
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      • 2017-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多