【问题标题】:MongoDb import JSON data to collection using redirection operatorMongoDb 使用重定向运算符将 JSON 数据导入集合
【发布时间】:2021-01-18 14:15:12
【问题描述】:

我已经使用以下 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 数据的指针?

【问题讨论】:

  • 我认为您必须告诉 mongo 您要插入哪个数据库并为该数据库添加凭据。例如:mongo --db library -u username -p password books < booksJson.js
  • @Mahan 看起来 --db 选项无效。出现错误:Error parsing command line: unrecognised option '--db'

标签: mongodb mongoose mongodb-query


【解决方案1】:

@Prasad 的评论/指针帮助找到了解决方案。

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

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

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

【讨论】:

    猜你喜欢
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-04
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多