我正在使用/docker-entrypoint-initdb.d/init-mongo.js
上装载的以下脚本初始化Docker
上的MongoDB 5.0
DDBB:
db.auth("admin", "MyPassw0rd_123");
db = db.getSiblingDB("RecipientService");
db.createCollection('RecipientAggregate');
db.createUser({
user: "wfuser",
pwd: "MyPassw0rd_",
roles: [{
role: "readWrite",
db: "RecipientService"
}
]
});
但是,它似乎不再与MongoDB 6.0
一起工作,我在DDBB日志中收到以下消息:
MongoServerError: Authentication failed.
我找不到正确的方法,我知道旧的mongo shell在这个版本中被mongosh
取代了,也许语法已经不再有效了,但是我在阅读了大量的文档后找不到任何建议。
关于如何在Docker上初始化MongoDB 6.0 DDBB有什么线索吗?
1条答案
按热度按时间rjjhvcjd1#
我不认为您需要在初始化脚本中显式调用
db.auth()
;如果我从初始化脚本中删除db.auth()
行,那么我有:我把它放在
initdb.d/init-mongo.js
中,然后用下面的docker-compose.yaml
启动Mongo:这一切似乎都工作正常:Mongo启动后,我可以连接并验证
RecipientService
数据库是否已创建:型