pymongo update_one在使用$ exists时不起作用,然后更新

时间:2018-10-23 21:23:18

标签: mongodb pymongo tweets

我正在处理带有推文的mongodb集合,并使用“ AFINN.txt”文件来查找取决于推文的得分。

昨天我使用此功能读取了所有数据库,然后用分数更新earch记录:

client = pymongo.MongoClient("mongodb://localhost:27017")
db = client['twitter']
# This function worked yesterday
def main():
    sent_file ="AFINN.txt"
    scores = term_scores(sent_file)
    for tweet in db.clean_tweets.find():
        score_result = tweet_score(tweet, scores)
        db.clean_tweets.update_one({'_id': tweet['id'] },
                                   {'$set': {'myscore': score_result}}, upsert=False)
        print(tweet['text'])

但是,这项工作尚未完成,所以今天我想完成它。

我的目的是查找所有不包含“ myscore”的文档 数据库功能是:

# mongodb code
db.clean_tweets.find({"myscore": {$exists: false}})

我要执行的新功能是:

def finish_scores():
    sent_file ="AFINN.txt"
    scores = term_scores(sent_file)
    for tweet in  db.clean_tweets.find({"myscore": {"$exists": "false"}}):
        score_result = tweet_score(new_tweet, scores)
        db.clean_tweets.update_one({'_id': tweet['id'] },
                               {'$set': {'myscore': score_result}}, upsert=False)

不确定我缺少什么。

我开始了蒙哥。

0 个答案:

没有答案