[英]mongoengine save method is deprecated?
我想知道為什么我的python說mongoengine save()方法已被棄用? 我沒有看到任何有關這方面的信息到官方文檔https://mongoengine.readthedocs.io/en/v0.9.0/apireference.html
class MyModel(Document):
user_id = StringField(required=True)
date = DateTimeField(required=True, default=datetime.datetime.now)
my = MyModel()
my.user_id = 'user'
my.save()
現在我明白了:
/Library/Python/2.7/site-packages/mongoengine/document.py:340:DreprecationWarning:不建議使用save。 請改用insert_one或replace_one
我有python 2.7並且還安裝了pymongo,mongoengine和bottle-mongo(可能有些問題嗎?)
MongoEngine包裝了PyMongo,它在PyMongo 3.0中棄用了“save”:
http://api.mongodb.com/python/current/changelog.html#collection-changes
MongoEngine可能需要棄用其save方法,或者禁止棄用警告,或者可能需要一些其他修復來處理此PyMongo更改。 我建議你搜索MongoEngine的bug追蹤器並報告這個問題,如果它還沒有。
MongoEngine Bug - https://github.com/MongoEngine/mongoengine/issues/1491
使用col.replace_one({'_id': doc['_id']}, doc, True)
代替。
api是replace_one(filter, replacement, upsert=False, bypass_document_validation=False, collation=None, session=None)
。
如果filter
什么都沒找到,使用upsert = True
來插入新文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.