任何解决Mongodb密钥的问题都不能包含“。”还是“$”?

时间:2013-04-06 04:29:06

标签: mongodb

Mongodb不接受此类文件:

{'.':1}

如果用手编码和解码那就太痛苦了。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

数据库,集合和字段名称上的Naming Restrictions具有实际用途。他们试图确保查询是明确的,并且可以创建有效的文件名。

例如:

  • MongoDB使用dot notation来访问数组或子文档的元素。

  • MongoDB使用美元符号($)来表示operators(例如$inc)。

  • Database names对应于在操作系统中创建的文件,并且路径分隔符和通配符有保留字符。

明显的解决方法(也是suggested in the MongoDB manual)是使用不同的字符。例如,$.的Unicode全宽等效项将以类似方式显示,但不会保留:

  • U + FF04(即“$”)
  • U + FF0E(即“。”)