在MongoDB中保存虚线字段

Save dotted field in MongoDB

本文关键字:虚线 字段 保存 MongoDB      更新时间:2023-09-26

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

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

但是我收到以下错误:"兼容性.2.7.1"中的虚线字段"2.7.1"对于存储无效。

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

字段

名称中不能有.。点在Mongodb中有些特别。例如,如果您插入

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

然后,您可以使用以下命令搜索该项目

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

所以想象一下,你可以在字段名称中有点,然后你插入

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

那么按'a.b'搜索会很奇怪,不是吗?