key 1.0不能包含'。' MongoDB罗盘中的错误

问题描述 投票:0回答:1

我正在尝试使用MongoDB Compass将以下文档插入到mongo数据库内部的集合中。

{
   "name":"cat",
   "label":{
      "1.0":"foo",
      "2.0":"bar"
   }
}

但我遇到此错误:

键1.0不得包含'。'

我尝试使用以下命令通过mongo shell插入同一文档:

db.collection_name.insert([
    {
        "name": "cat",
        "label": {
            "1.0": "foo",
            "2.0": "bar"
    }

]);

并且文档已正确插入。

此外,如果我使用MongoCompass导出整个集合,然后尝试导入它,则会收到错误消息。

所以,我的问题是:当通过终端的insert命令正常工作时,为什么MongoDB Compass会给我该错误?

mongodb shell mongodb-compass
1个回答
0
投票

可能您在Compass-MongoDB版本中存在差异。从3.6版开始,MongoDB支持带点的键(尽管不建议使用它们,并且某些驱动程序可能不支持它们,请参见Restrictions-on-Field-Names)。最新版本的Compass也支持带点的键。

© www.soinside.com 2019 - 2024. All rights reserved.