我已经从MongoDB
导出了一个集合,它看起来如下所示:
[
{
"_class": "test.Tag",
"title": "My Title",
"_id": {
"$oid": "637a2bc4a9c297b306dd0be9"
}
}
]
现在,我想向这个集合中添加另一个项。我已经创建了一个格式完全相同的json文件。但是,当我使用以下命令时:
db.tag.insertMany([{"_class": "test.Tag", "title": "New Title","_id": {"$oid": "637a4171833047f9e046f3c9"}}])
我得到错误:
MongoBulkWriteError: _id fields may not contain '$'-prefixed fields: $oid is not valid for storage.
我在stackoverflow上找到了几个类似的问题,例如this one,但它们对我没有帮助。
我应该如何在我的数据库中插入一些东西?当我使用MongoDB Compass时,没有问题。它工作。但是当我在服务器上的真实的数据库上尝试它时,它不工作。如果它有帮助,我使用的是Mongo
版本6.0.1。
你的帮助将不胜感激。
1条答案
按热度按时间vc6uscn91#
在传统的mongo shell中,没有扩展json格式的帮助器,但是在mongosh中,您可以使用EJSON来反序列化扩展json并将其插入,如下所示:
(MongoDB 5.0中不赞成使用传统的mongo shell,MongoDB 6.0中已将其删除)