-1

我已经使用以下 docker-compose 文件在我的机器上设置了“mongo”数据库。

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.exeJavaScript 文件和重定向运算符导入 JSON 数据的任何指针?

4

1 回答 1

1

@Prasad 的评论/指针有助于找出解决方案。

我能够使用以下命令导入数据。

mongo localhost:27017/bookdb  --authenticationDatabase "admin" -u root -p example  < booksJson.js

我必须提到authinticationDatabase标志才能让它工作。

于 2020-10-04T05:23:16.257 回答