【发布时间】:2021-02-11 05:32:12
【问题描述】:
我使用的是 MongoDB Compass 版本 1.25.0。
我正在尝试使用 MongoDB Compass 的“插入文档”功能插入由我的一位同事共享的文档。
我认为它正在验证 JSON 格式,并且 ObjectId() 不是有效的 JSON 值。
我知道 Compass 会自动创建 ObjectId() 但我想明确地传递它。
我使用了 Shell,我能够插入文档。
我的问题是 MongoDB Compass 是否允许从 UI 输入 ObjectId()? 如果是,我做错了什么?
【问题讨论】:
-
图像中看到的 "asdf" 不是有效值。 ObjectId 构造函数采用文档中所示格式的十六进制值:ObjectId。
-
我的错,这只是一个例子。更新了问题。
-
文档视图为 JSON 格式。您需要将Extended JSON format 用于
ObjectId。 -
当使用你建议的格式
{"$oid":"5d505646cf6d4fe581014ab2"}它显示BSON field 'insert.documents.0' is the wrong type 'objectId', expected type 'object' -
查看Compass - Insert的文档。