MongoDB - mongofiles

2023-12-13

C:\Programs\MongoDB\bin>mongofiles.exe list
connected to: 127.0.0.1
test123.txt     6
test123.txt     22
test123.txt     44
test456.txt     53
test456.txt     53
test456.txt     53
test456.txt     53
test456.txt     53
test456.txt     15

C:\Programs\MongoDB\bin>

当我做mongofiles get test456.txt我总是最后一个
我以该名称放入 GridFS 中的文件。我如何获得
其他/以前的只要它们都有重复的名字?

根据我需要指定的文档:

“文件名可以是:上的文件名
您本地的文件系统,或 GridFS 对象。”

http://docs.mongodb.org/manual/reference/program/mongofiles/

但我不太清楚“GridFS 对象”在这种情况下意味着什么。


在这种情况下,“GridFS 对象”是指存储在 GridFS 集合中的对象的名称。这种区别可能最好地解释为--localmongofiles 手册页上的选项。

这里您需要考虑的是,您所做的是使用 mongofiles 实用程序提交具有“相同”文件名的项目。正如该实用程序的手册页中所述,默认行为put (see commands) 选项是在商店内创建一个新条目。这可以被覆盖--replace选项,以便找到任何现有内容并用您创建的新内容覆盖。

简而言之,无论文件是否包含不同的内容,您都创建了多个具有相同“对象名称”的东西。就 mongofiles 实用程序而言,它只知道如何通过“对象名称”获取,因此它只会根据其规则检索它找到的第一个对象。

现在,在 GridFS 的大多数 API 实现中,实际get操作通常由_id。您以这种方式创建的每个“对象”仍然具有其独特性_id值,因此当应用此值时,您可以获得所需的“对象”。

一些 API 实现添加了额外的查询类型方法,以便通过“文件名”或其他元数据信息进行查找。但大多数情况下他们不会打扰,因为这些实际上只是标准的.find() or .findOne()对任何集合的操作都保存内容元数据和引用(默认为 fs.files )。这提供了超过合理数量的方法来“查找”特定对象并解决该问题_id价值通过get该API的接口。

所以虽然mongofiles是一个很好的实用程序,用于从命令行执行基本的 CRUD 类型操作,它只是一个实用程序,而不是“如何做”的主要实现。因此,作为一个实用程序,它提供了一种“方便”的设置和获取对象的形式,使用对象标识符的“文件名”部分。

另外值得注意的是,你should真正将 GridFS 存储视为文件系统,并保持“文件名”唯一,就像文件系统中所要求的那样。

但至于mongofiles实用程序中,“名称”就是您检索信息所需的全部内容。尽量不要这样做,或者真正使用您选择的语言 API 来完成这项工作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB - mongofiles 的相关文章

随机推荐

  • 嵌套gridview获取父行

    我正在使用嵌套 GridViews 其中的每一行gridview有子gridView 我在用行数据绑定事件父网格视图 到绑定子网格视图 我的问题是 如何获取子 gridView 上父 GridView 的密钥行数据绑定 Event 下面是示
  • document.getElementById insideHTML 不显示

    这应该是一件很容易做的事情 但它不会返回任何东西 函数 love 应该启动 得到一个简单的数字提示 并吐出使用该起始数字的一些项目的列表 警报框正确显示了我所期望的内容 但我希望它显示在屏幕上 这只是我所追求的一小部分 但它是它的核心 IE
  • 滚动后的 div(不是位置:固定)

    我前段时间找到过 现在找不到了 我想找到像苹果商店里的购物车这样的东西 它是一个既不绝对也不固定的div 例如 假设它位于屏幕的中心 只有当你向下滚动时 它才会跟随滚动而不是消失 当它到达浏览器标题的边框时 我不确定我是否清楚 我已经搜索过
  • NHibernate 上值对象的单独表

    我是 DDD 和 NHibernate 的新手 在我当前的项目中 我有一个实体 Person 它包含一个值对象 比如说 Address 今天 这很好 但也许有一天我会要求我的值对象 在本例中为地址 必须成为一个实体 在尝试以 DDD 方式对
  • TCP 异步套接字抛出 10057

    我编写了以下代码 public static void BeginListen int port IPAddress address IPAddress Any IPEndPoint endPoint new IPEndPoint addr
  • 如何在 WMIC 中转义逗号(如字符串)

    我希望能够运行如下查询 wmic path Win32 Service where DisplayName like FooBarService X Y get 但是 由于类似字符串中的逗号 它不起作用 我收到的错误是 动词无效 我尝试用反
  • 如何显示保留两位小数的浮点数? [复制]

    这个问题在这里已经有答案了 我有一个采用浮点参数 通常是整数或具有一位有效数字的小数 的函数 并且我需要输出具有两位小数的字符串中的值 5 5 00 5 5 5 50 等 我怎样才能在Python中做到这一点 由于这篇文章可能会发布一段时间
  • 将列添加到 Crystal Report 的数据集 (xsd)

    我正在编写一份报告 需要将一列添加到我的一个数据集和 RPT 文件中 但是当我尝试修改数据集时 收到错误消息 指出指定的表不存在 当我查看代码时 看起来最初有一个表用于此目的 但这种方法已被放弃 现在是通过附加到报告的代码中的数据集来完成的
  • 将文件名分配给 shell 中的变量

    我正在尝试编写一个脚本 它的功能比我要向您展示的功能更复杂一些 但我知道问题出在这部分 我希望通过以下方式将目录中文件列表的每个名称分配给一个变量 同一变量 一次一个 for循环 然后用这个在循环内部做一些事情 看看是什么意思 for th
  • 如何将私钥证书 (.pfx)、公钥证书 (.cer) 上传到 Azure WebApp

    如何使用 Azure Powershell 将私有公共证书上传到 Azure 应用服务 我知道 New AzureRmWebApp SSLBindings 但我没有进行任何 SSL 绑定 我们有使用 SSL 绑定的 Azure 应用服务 为
  • Laravel:如何使用 Eloquent 获取关系列的 SUM

    如何使用预先加载来获取相关模型的 SUM 而不加载整个关系数据 在我的项目中有两个模型 Account and Transaction 账户模型has many交易 我的要求是 获取帐户并仅加载相关表上的总和 提供了我当前的代码 在这段代码
  • 如何使用 scapy 读取保存的 pcap 文件中的 TCP 协议数据?

    我正在尝试使用 scapy 读取 Pcap 文件 from scapy all import logfile rdpcap Pcap 112400 pcap print logfile output pcap TCP 0 UDP 0 ICM
  • 如何为整个winform应用程序设置文化

    我想为整个 winform 应用程序设置一种文化 我怎样才能做到这一点 我改变了我的Program cs像这样的文件 using System using System Collections Generic using System Gl
  • 如何在 Maven 中按类别运行 JUnit 测试?

    使用 JUnit 4 8 和新的 Category注释 有没有办法选择类别的子集来与 Maven 的 Surefire 插件一起运行 例如我有 Test public void a Category SlowTests class Test
  • NativeScript:显示 ActivityIndi​​cator 时禁用所有控件

    假设有一个带有用户名 密码文本字段和登录按钮的登录页面 按下按钮时 将向服务器设置请求并显示 ActivityIndi cator 目前 我将 StackLayout 放在所有其他控件之上 以免用户在处理请求时单击它们 但在某些情况下 Te
  • 如何使“ListView.builder”从特定索引开始

    1 问题 有没有办法ListView builder比如说 从第二个 index 1 小部件列表的项目 就我而言 更多信息here and here如果你有兴趣 我正在尝试在顶部添加一些空白ListView这样用户就可以将顶部的卡片滚动到靠
  • 使用 AJAX 将表单数据保存到 PHP

    如何将表单数据保存在文件或本地数据库 可能使用 AJAX 中 通过表单操作将数据发送到外部数据库 我的表单的源代码在这里 http jsbin com ojUjEKa 1 edit 我应该对代码进行哪些更改 如果有 EDIT 正确的 因此
  • 使用 php 查找文本中的所有 url(链接)

    我有这个代码正则表达式 它应该将各种不同的网址转换为某些文本中的链接 preg replace代码是 regex https w w w d w S text preg replace regex a href 1 1 a item 现在它
  • 无法在 PhpStorm 断点处观察变量值

    我在调试 PhpStorm 时遇到一个奇怪的问题 我使用的是 XAMPP PhpStorm Xdebug 我在下面编写代码并设置4个断点
  • MongoDB - mongofiles

    C Programs MongoDB bin gt mongofiles exe list connected to 127 0 0 1 test123 txt 6 test123 txt 22 test123 txt 44 test456