我正在从MongoDB中获取条目,我想做一些修改,数据处理等和更新。在这个特定的例子中,Iam尝试收集所有文档
{u'time': 1405694995.310651, u'text': u'HOHO,r\u012bt ar evitu uz positivus ar vip bi\u013ceti kabat\u0101:)', u'_id': ObjectId('53cd621d51f4fbe9f6e04da4'), u'name': u'Madara B\u013cas\u0101ne', u'screenName': u'miumiumadara'}
将其文本值作为字符串,计算其关键字值,然后添加到具有关键字值的精确特定文档字段。
我正在努力将文本字段作为字符串,以便可以操作。而且我还没有在python中找到如何使用count变量向文档添加新字段的解决方案。在Mongo shell中,命令很简单,但在这里我不知道。我有什么要找的吗?
db = conn.posit2014
collection = db.ceturtdiena
cursor = db.all.find()
for text_fromDB in cursor:
print text_fromDB
source_text = text_fromDB.translate(None, '#!@£$%^&*()_:""?><.,/\|+-')
source_text = source_text.lower()
source_words = source_text.split()
count = 0
word_list = []
with open('pozit.txt') as inputfile:
for line in inputfile:
word_list.append(line.strip())
for word in word_list:
if word in source_words:
count += 1
#add count variable to each document
# {$set : {value:'count'}}
答案 0 :(得分:1)
AFAIK text_fromDB只是一个字典,所以你可以这样做。 (如果您要更新文档)
text_fromDB['count'] = value
collection.update({'_id':text_fromDB['_id']}, {"$set": text_fromDB})
答案 1 :(得分:1)
我不确定我是否理解你要问的一切。让我们一次去一件。要将您的集合中的文本字段作为普通字符串获取,请尝试以下操作:
collection = db.centurtdiena
for doc in collection.find():
text = str(doc['text'])
print(text)