在MongoDB中保存虚线字段[重复]

Posted

技术标签:

【中文标题】在MongoDB中保存虚线字段[重复]【英文标题】:Save dotted field in MongoDB [duplicate] 【发布时间】:2015-03-16 15:43:09 【问题描述】:

我正在尝试将结果从 JSON API 保存到 MongoDB 集合。 我要保存的 JSON 数据具有以下结构:

compatibility: 
    2.7.1: 
        2.2.6: [
            100,
            1,
            1
        ]
     ,
     2.8.3: 
         2.2.6: [
             100,
             2,
             2
         ]
     
 

但我收到以下错误:“compatibility.2.7.1”中的虚线字段“2.7.1”对存储无效。

有谁知道如何解决这个问题?

【问题讨论】:

【参考方案1】:

您不能在字段名称中包含 .。 Dot 在 mongodb 中有些特别。例如,如果您插入

db.test.insert(
   a: 
      b: 2
   
);

然后您可以使用搜索该项目

db.test.find(
   'a.b': 2
);

所以想象一下你可以在字段名称中添加点并插入

db.test.insert(
   a: 
      b: 2
   ,
   'a.b': 3
);'

那么用'a.b'搜索就很奇怪了,不是吗?

【讨论】:

以上是关于在MongoDB中保存虚线字段[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Mongodb

MongoD基础之六 索引

MongoDB运行错误[重复]

如何仅获取数组中的元素-mongodb [重复]

在Windows系统下安装MongoDB数据库

如何使用 Spring Boot 在 Mongodb 中保存重复项?