在mongo文档中插入带点的字段名称

时间:2016-06-23 09:18:25

标签: mongodb meteor

Meteor服务器代码尝试将对象插入Mongo集合。其中一个属性的值是一个包含点的字符串,即“。”。

Meteor terminal抱怨: -

  

错误:关键食物1.1和饮料不得含有'。'

这是什么意思以及如何解决?

 let obj = {
              food: group,
              rest: rule,
              item: item[0],
              key: i
           };

        FoodCol.insert(obj);

修改
Kishor建议的替换“。”的答案。使用“\ uff0E”将在点之后产生一个空间,而不是用户期望的空间。

2 个答案:

答案 0 :(得分:2)

通过此链接How to use dot in field name?

  

您可以将字段名称的点符号替换为等效的Unicode   “\ uff0E”:

更新:正如Fred建议的那样,请使用“\ u002E”代表“。”

答案 1 :(得分:1)

我们通过在插入和解码之后对密钥进行编码(Base64)来解决此问题。因为我们按原样使用文档,并且查询字段不同,并且它们的键不被编码。

但是如果您想使用此密钥进行查询,或者密钥应该对用户可读,则此解决方案将不适用。