在MongoDB中保存虚线字段

时间:2015-01-18 14:50:34

标签: javascript json mongodb mongoose

我试图将结果从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 个答案:

答案 0 :(得分:2)

您不能在字段名称中使用.。点是mongodb有些特别。例如,如果您插入

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

然后您可以使用

搜索该项目
db.test.find({
   'a.b': 2
});

因此,假设您可以在字段名称中加点并插入

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

然后按'a.b'进行搜索会很奇怪,不是吗?