【问题标题】:mongofiles get_id not working from cmd on Windows 7mongofiles get_id 在 Windows 7 上无法从 cmd 工作
【发布时间】:2019-01-09 19:11:18
【问题描述】:

我正在尝试使用 mongofiles 命令从 GridFS 获取文件。该命令在我的 Mac 终端上运行良好,但相同的命令在 Windows cmd 上引发错误。

在 OS X 终端上:

mongofiles --db newdb get_id 'ObjectId("58a2e2dee4b052100af93a4f")' --local 32.gif
2018-08-02T11:18:14.773+0530    connected to: localhost
finished writing to: 32.gif

在 Windows CMD 上

mongofiles -d newdb get_id 'ObjectId("58a2e2dee4b052100af93a4f")' --local 32.gif
2018-08-02T11:20:15.049+0530    connected to: localhost
2018-08-02T11:20:15.050+0530    Failed: error opening GridFS file with _id 'ObjectId(58a2e2dee4b052100af93a4f)': not found

我尝试为 objectid 提供各种字符串组合、转义和添加斜杠、单引号和双引号,但没有任何效果。我确信我错过了一些简单的东西,但我现在已经花了一个多小时。

编辑 Windows mongo 实例上的 db 中也确实存在带有 _id 的文件:

> use newdb
switched to db newdb
> db.fs.files.find({"_id":ObjectId("58a2e2dee4b052100af93a4f") });

{ "_id" : ObjectId("58a2e2dee4b052100af93a4f"), "chunkSize" : NumberLong(261120)
, "length" : NumberLong(3944), "md5" : "330af44d664364882237d92a5d7f29a8", "file
name" : "/AAA/BBB/CCC/32.gif", "contentType" : "/AAA/BBB/CCC/32.gif", "uploadDate" : ISODate("2017-02-14T10:58:38.447Z"), "a
liases" : null }

但是,如果我尝试使用文件名获取文件,则会收到另一个关于 mongofiles 尝试将文件名解析为参数的错误。将文件名括在双引号内也不起作用

【问题讨论】:

    标签: mongodb gridfs


    【解决方案1】:

    正如我所想,这是一个非常简单的解决方案。我想我有点努力想早点弄清楚。对我有用的是:

    mongofiles -d newdb get_id "ObjectId(\"58a2e2dee4b052100af93a4f\")" --local 32.gif
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-27
      相关资源
      最近更新 更多