我已经使用下面的docker compose文件在我的机器上设置了"mongo"DB。
version: "3.1"
services:
mongo:
image: mongo
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
volumes:
- ${PWD}/data:/usr/src/data
现在,我想使用以下命令将样本数据插入到名为books
的集合中
mongo books < booksJson.js
但是当我执行这个命令时,我得到了以下错误
MongoDB shell version v4.4.1
connecting to: mongodb://127.0.0.1:27017/books?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("57936227-aa22-4d5f-841b-59788847bc3c") }
MongoDB server version: 4.4.1
WriteCommandError({
"ok" : 0,
"errmsg" : "command insert requires authentication",
"code" : 13,
"codeName" : "Unauthorized"
})
bye
以下是我的booksJson.js
文件的内容。
db.books.insert([
{
title: 'xyz',
test: 1
}
])
有任何关于如何使用mongo.exe
使用JavaScript文件和重定向运算符导入JSON数据的指针吗
@Prasad的注释/指针帮助找到了解决方案。
我可以使用以下命令导入数据。
mongo localhost:27017/bookdb --authenticationDatabase "admin" -u root -p example < booksJson.js
为了让它发挥作用,我不得不提到authinticationDatabase
标志。