В некоторых случаях DeprecationWarning: вставка устарела

1

Я использую mongoengine для операций mongodb в моем проекте. Раньше у меня такого предупреждения не было.

DeprecationWarning: insert is deprecated. Use insert_one or insert_many instead

Я получаю предупреждение из-за строки, как показано ниже.

 class Human(Document):
     name = StringField()

 Human.objects.insert([
      Human(name='Steve'),
      Human(name='Jack'),
      Human(name='Chris')
 ])

Как я понимаю, Human.objects.insert() устарел в новой версии, но я не могу найти insert_many() вместо него. Моя программа все еще работает, но я не могу разрешить эту ошибку. Спасибо за помощь.

Теги:
insert
mongoengine
pymongo

1 ответ

1

insert_many была представлена в версии mongoengine 0.15.3. Вы можете попробовать обновить свой mongoengine. Если вы не хотите этого делать, попробуйте:

collection = Human._get_collection()
collection.insert_many([{"name":"John"}, {"name":"Cookie Monster"}])
  • 0
    Я обновил mongoengine, но он не смог решить проблему, я знаю insert_many с {}, но мне нужно использовать его как insert_many ([Human (name = 'John'), Human (name = 'Cookie Monster')]) , попытался это и не работает, insert_many должен использоваться как ваш пример. Так что я думаю, что я должен найти другой метод

Ещё вопросы

Сообщество Overcoder
Наверх
Меню