MongoDB Compass 无法通过粘贴 json 字符串插入文档

MongoDB Compass can't insert document by pasting json string

我正在使用 compass community v1.13.1 并尝试填充一些示例数据几个小时,但失败了。

发现了一个类似的问题here,我按照@ktsangop 的第一个答案进行了操作,但没有成功。

无论如何都不能粘贴为 json 对象,如果我将类型设置为字符串,它将只是空字符串;如果将类型设置为对象,则无法将 json 字符串作为一个整体粘贴。

我是否需要一个字段一个字段地插入一个有效的 json 对象?还是我做错了?

不敢相信这是一个实际问题.. 在开始的 2 分钟里我觉得我有点不对劲哈哈

无论如何,我有一个(hacky)解决方案:

  1. Select 一个项目并单击 Edit Document 按钮
  2. 创建新字段或select现有字段进行编辑
  3. 输入一个double-quote符号"
  4. 复制 json 有效负载
  5. 查找到字段的开头并删除 double-quote 符号(在步骤 3 中)
  6. 保存文档更改

多田!


更新:

似乎只有 json 是部分的 copy-paste 操作才会生效(由于某些原因,有效的 jsons 被忽略).. 所以我 ended-up更简单的解决方案:

  1. Select 一个项目并单击 Edit Document 按钮
  2. 创建新字段或select现有字段进行编辑
  3. 省略 json 负载中的最后一个字符(对于 { "a": true } 仅复制 { "a": true
  4. 复制部分 json 负载
  5. 查找到字段末尾添加缺失的字符(在我们的示例中 }
  6. 保存文档更改

通过以下步骤在 MongoDB compass 中手动插入新文档:

  1. 创建文档并插入新的属性:

  1. 在对象里面添加一个新的属性:

  1. 更改文档类型属性:

  1. 最终文档已准备好插入:

您需要全部展开才能将类型更改为对象。

对于未来的访问者this回答可能会有帮助。

只需将视图切换到 JSON(两个卷曲按钮 - 似乎是在提出此问题后添加的功能),将鼠标悬停在文档上点击“编辑文档”,然后您将直接编辑 JSON,这为您提供了很大的灵活性和速度。