$toInt против $конвертировать с помощью mongo (pymongo), является ли один подход предпочтительнее другого

#mongodb #type-conversion #pymongo

Вопрос:

Используя pymongo библиотеку Python, следующее выполняет ту же задачу примерно за то же время:

 my_collection.update_many(
  {}, 
  [{'$set': {'ptsScored': {'$toInt': '$ptsScored'}}}]
)

my_collection.update_many(
  {}, 
  [{ '$set': { 'ptsScored': { '$convert': { 'input': "$ptsScored", 'to': 16 } } }}]
)
 

Оба успешно преобразуют ptsScored поле из строки в int. Типы по этой ссылке. Учитывая равную производительность, есть ли какая-либо причина использовать 1 подход по сравнению с другим? Является ли 1 из $toInt них или $convert новее другого? Или это 100% предпочтение, которое следует использовать на данном этапе и двигаться вперед?

Комментарии:

1. Нет никакой разницы в функциональности двух операторов; $toInt это синтаксический сахар. Оба оператора были введены с MongoDB v4.0.

2. в этом есть смысл, спасибо. Да $toInt чувствует себя немного чище и немного проще в использовании

3. Они оба выполняют одну и ту же функцию, но $convert позволяет вам указать, как работать с ошибками, нечисловыми строками и т. Д., Где $toInt просто не сработает, если возникнет что-либо неожиданное.