我想在整个集合中的每个文档的某个现有属性上调用自定义python函数和将结果作为新的键值对存储在相同)文件。我可否知道是否有办法做到这一点(因为每次通话都是独立的)?在集合中的每个文档上调用自定义python函数Mongo DB
我注意到cursor.forEach
,但不能这样做只是有效地使用python?
一个简单的例子是将字符串拆分为text
并存储no。的词作为一个新的属性。
def split_count(text):
# some complex preprocessing...
return len(text.split())
# Need something like this...
db.collection.update_many({}, {'$set': {"split": split_count('$text') }}, upsert=True)
但好像基于同一文档的其它属性的值在文档中设置一个新的属性是not possible这样呢。这篇文章很旧,但问题似乎仍然存在。
你可以发布一些你想做的代码示例吗? –
我的答案是否解决了这个问题? –
@SteveRossiter呃..是和否。它解决了当前的任务(分割文本),但我也想调用_any_ python函数,这使得我很难仅使用_JS_方法。也做它_JS_弄乱了我的一些属性值。请参阅下面的答案。 :) – Kevad