Meteor
服务器代码尝试将对象插入Mongo集合。其中一个属性的值是一个包含点的字符串,即“。”。
Meteor terminal
抱怨: -
错误:关键食物1.1和饮料不得含有'。'
这是什么意思以及如何解决?
let obj = {
food: group,
rest: rule,
item: item[0],
key: i
};
FoodCol.insert(obj);
修改
Kishor建议的替换“。”的答案。使用“\ uff0E”将在点之后产生一个空间,而不是用户期望的空间。
答案 0 :(得分:2)
通过此链接How to use dot in field name?
您可以将字段名称的点符号替换为等效的Unicode “\ uff0E”:
更新:正如Fred建议的那样,请使用“\ u002E”代表“。”
答案 1 :(得分:1)
我们通过在插入和解码之后对密钥进行编码(Base64)来解决此问题。因为我们按原样使用文档,并且查询字段不同,并且它们的键不被编码。
但是如果您想使用此密钥进行查询,或者密钥应该对用户可读,则此解决方案将不适用。