【问题标题】:how to import data to mongodb with multiple index如何使用多个索引将数据导入mongodb
【发布时间】:2018-11-29 07:32:02
【问题描述】:

我对 mongodb 很陌生,我刚刚创建了一个 database 名称 Test 并且里面有一个 collection 称为 projects 我有一个包含 2 个这样的项目的 json 文件:

{
  "-KutvlMPRHGWWTgk1Mh4" : {
    "isPrivate" : true,
    "proj_contact" : "blMufEZjv6ZmnugDlTruzGwmowI3",
    "proj_creator" : "blMufEZjv6ZmnugDlTruzGwmowI3",
    "proj_date" : "01/01/2017",
    "proj_des" : "this is a testing projectasfasfasgasg",
    "proj_name" : "Project",
    "proj_pi" : "qCQee2pWGeN9PD3FRXbJpdN7mHT2"
  },
  "-KvARDkcsCEKZgnM94xH" : {
    "isPrivate" : false,
    "proj_autho" : [ "Lei0ohIcMBbzVtcQD1AgU4wHBKR2", "OnjEOFSNVpf189J9hAaSFWOZdl42", "0DwfVUeMAraiRxFZTa6xyjn6sfx2", "WHjFSvEo45U7ULzwIQdnUz6ytXp1", "kKTWt36bIifrRzpqNP1l2Gnl3KU2" ],
    "proj_contact" : "kKTWt36bIifrRzpqNP1l2Gnl3KU2",
    "proj_creator" : "kKTWt36bIifrRzpqNP1l2Gnl3KU2",
    "proj_date" : "10/12/2017",
    "proj_des" : "this is a test :)",
    "proj_name" : "another test",
    "proj_pi" : "qCQee2pWGeN9PD3FRXbJpdN7mHT2"
  }
}

所以我想将其导入projects collection。 我正在运行这个命令

mongoimport --db Test --collection projects --file import-file.json

但事情是我得到的结果是 mongodb 只创建 一个包含整个内容的索引 (1 id)

我想要的是在导入之后,mongodb 将为上面的每个项目创建 2 个不同的索引(2 个 ids)

这是当前结果。我用的是 Studio 3T

谢谢

【问题讨论】:

    标签: mongodb import nosql mean studio3t


    【解决方案1】:

    您似乎缺少一个花括号(嵌套对象本身)

    {
      {"-KutvlMPRHGWWTgk1Mh4" : {
    "isPrivate" : true,
    "proj_contact" : "blMufEZjv6ZmnugDlTruzGwmowI3",
    "proj_creator" : "blMufEZjv6ZmnugDlTruzGwmowI3",
    "proj_date" : "01/01/2017",
    "proj_des" : "this is a testing projectasfasfasgasg",
    "proj_name" : "Project",
    "proj_pi" : "qCQee2pWGeN9PD3FRXbJpdN7mHT2"
    }},
    {"-KvARDkcsCEKZgnM94xH" : {
    "isPrivate" : false,
    "proj_autho" : [ "Lei0ohIcMBbzVtcQD1AgU4wHBKR2", "OnjEOFSNVpf189J9hAaSFWOZdl42", "0DwfVUeMAraiRxFZTa6xyjn6sfx2", "WHjFSvEo45U7ULzwIQdnUz6ytXp1", "kKTWt36bIifrRzpqNP1l2Gnl3KU2" ],
    "proj_contact" : "kKTWt36bIifrRzpqNP1l2Gnl3KU2",
    "proj_creator" : "kKTWt36bIifrRzpqNP1l2Gnl3KU2",
    "proj_date" : "10/12/2017",
    "proj_des" : "this is a test :)",
    "proj_name" : "another test",
    "proj_pi" : "qCQee2pWGeN9PD3FRXbJpdN7mHT2"
     }}
    }
    

    更新:

    By default, monogoimport assumes a special structure for a file to import from: similar to JSON format except that only one document per line is allowed with no comma after each of them

    {
      "-KutvlMPRHGWWTgk1Mh4" : {
        "isPrivate" : true,
        "proj_contact" : "blMufEZjv6ZmnugDlTruzGwmowI3",
        "proj_creator" : "blMufEZjv6ZmnugDlTruzGwmowI3",
        "proj_date" : "01/01/2017",
        "proj_des" : "this is a testing projectasfasfasgasg",
        "proj_name" : "Project",
        "proj_pi" : "qCQee2pWGeN9PD3FRXbJpdN7mHT2"
      }
      "-KvARDkcsCEKZgnM94xH" : {
        "isPrivate" : false,
        "proj_autho" : [ "Lei0ohIcMBbzVtcQD1AgU4wHBKR2", "OnjEOFSNVpf189J9hAaSFWOZdl42", "0DwfVUeMAraiRxFZTa6xyjn6sfx2", "WHjFSvEo45U7ULzwIQdnUz6ytXp1", "kKTWt36bIifrRzpqNP1l2Gnl3KU2" ],
        "proj_contact" : "kKTWt36bIifrRzpqNP1l2Gnl3KU2",
        "proj_creator" : "kKTWt36bIifrRzpqNP1l2Gnl3KU2",
        "proj_date" : "10/12/2017",
        "proj_des" : "this is a test :)",
        "proj_name" : "another test",
        "proj_pi" : "qCQee2pWGeN9PD3FRXbJpdN7mHT2"
      }
    }
    

    【讨论】:

    • 如果我改成你的,它说这不再是一个有效的 json 文件
    • 在此验证 jsonlint.com 出现如下错误:错误:第 1 行解析错误:{ { "-KutvlMPRHGWWTg --^ Expecting 'STRING', '}', got '{'
    • zaiste.net/importing_json_into_mongodb 默认情况下,monogoimport 为要导入的文件采用一种特殊的结构:类似于 JSON 格式,只是每行只允许一个文档,每个文档后面不能有逗号
    • 参考文档,打开和关闭应该是方括号,然后我使用 -jsonArray 并且它可以工作。谢谢男人
    猜你喜欢
    • 2018-04-19
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 2015-09-16
    • 2018-07-03
    • 1970-01-01
    • 2013-12-26
    • 2013-07-25
    相关资源
    最近更新 更多