我正在关注MongoDB网站here上给出的示例,但在尝试导入示例数据时遇到了麻烦。
运行命令时
mongoimport --db test --collection restaurants --drop --file primer-dataset.json
我收到错误:
失败:打开primer-dataset.json:系统找不到指定的文件
问题是,我不确定MongoDB期望这个文件在哪个目录中。我尝试将它放在data / db中,但这不起作用。请注意,我只使用默认设置。
我知道这是一个有点微不足道的问题,我觉得这个问题很愚蠢,但我无法在任何地方找到相关文档。 MongoDB在哪里期待导入文件?
答案 0 :(得分:5)
MongoDB希望该文件位于运行命令mongoimport的目录中。
如果将文件放在data / db下,则将mongodb path设置为全局环境变量,并从data / db目录执行命令。
此外,如果您为mongodb启用了安全性,则需要执行以下命令
mongoimport --username admin --password password --db test --collections restaurants --drop --file primer-dataset.json
此处admin是授权为测试数据库执行数据库操作的用户,而餐馆是集合名称。
答案 1 :(得分:1)
对于Windows! 使用带有mongoimport命令的MongoDB / bin中的.json格式的notepad ++保存文件。
简单的记事本很难做到。
答案 2 :(得分:1)
这件事也发生在我身上。问题是,尽管该文件显示为Restaurantss.json,但实际上它是restaurant.json.json(因为以JSON格式保存)。正确更改名称后,该问题已解决。
答案 3 :(得分:0)
我遇到麻烦,请检查文件路径,mongoimport.exe,您的文件可能会留在另一个文件夹中。
使用mongoimport -d test1 -c restaraunts companies.json
导入mongodb。
答案 4 :(得分:0)
检查文件扩展名,并确保它是“.json”文件; 在此之后我成功运行了
mongoimport --db test --collection restaurants --drop --file [path \ to \ Json file]
命令;
答案 5 :(得分:0)
在我的情况下,我删除了--drop
参数,它完美无缺。我猜,它正在抛出这个错误:
失败:打开paht / file-name.json:系统找不到指定的文件。
因为它想要删除的集合不可用,因为我之前没有创建任何集合。
答案 6 :(得分:0)
您必须将您的json文件复制到C:\ Windows \ System32并在cmd上编写此命令: mongoimport --db test --collection mongotest --type json --file yournamefile.json