【发布时间】:2015-04-24 05:19:21
【问题描述】:
我正在尝试保存包含特殊字符“.”的字典在 MongoDB 的关键部分。错误如下所示,明确指出密钥不能包含特殊字符'.'。
>>> import pymongo
>>> client = pymongo.MongoClient('localhost')
>>> db = client['malware']
>>> test = db['test']
>>> d = {'.aaa' : '.bbb'}
>>> test.insert(d)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib64/python2.7/site-packages/pymongo/collection.py", line 362, in insert
self.database.connection)
bson.errors.InvalidDocument: key '.aaa' must not contain '.'
但我当前的信息包含“。”在数据的关键部分,我需要存储到 MongoDB。目前我只是删除'。从字符串中,另一种选择是将其替换为“_”或其他一些特殊字符。
尽管如此,所有这些都会导致信息丢失,因为如果我有一个键 '.aaa' 和一个键 'aaa' 并且如果我转换 '.'进入 '' 然后键完全一样,我丢失了一些信息。为什么 Mongo 不允许我将“.aaa”保存到数据库中?
任何想法如何解决这个问题?
【问题讨论】: