由于system.indexes,Mongoose只读连接失败了?

时间:2018-01-18 15:12:20

标签: node.js mongodb mongoose nosql mlab

我正在尝试在微服务中设置一些功能,以便从我们的MongoDB用户群中读取。

功能如下:

import myorgSchemas from '@myorg/myorgapp-schemas'
import mongoose from 'mongoose'

const UserModel = mongoose.model('User', myorgSchemas.user)

UserModel.findOne({ _id: '5a48d25bc5686a00436bda6f' }, (error, docs) => {
  console.log(error, docs)
})

当我运行它时,我首先成功获得适当的用户对象。然后,大约一秒钟后,我收到此错误,这会导致节点进程崩溃:

  

MongoError:未在myorg-production上授权执行命令{insert:“system.indexes”,文档:[{ns:“myorg-production.users”,key:{uniqueId:1},name:“uniqueId_1” ,unique:true,background:true}],ordered:true}

起初我认为这与我为此任务创建的db-user是read-only(应该是)这一事实有关。但即使在授予用户写入能力之后,我也会得到一个不同的类似错误:

  

MongoError:E11000重复键错误索引:myorg-production.users。$ uniqueId_1 dup key:{:null}

对于它的价值,数据库由MLAB托管。知道这里发生了什么吗?我是否需要将某种read-only标记传递到mongoose?如果是这样,我无法在任何地方找到它。

0 个答案:

没有答案