Nano Hash - криптовалюты, майнинг, программирование

Проблема с запросом в pymongo

У меня возникли проблемы с поиском документов с сегодняшней функцией даты через python.

Я использую следующую функцию:

datetime.datetime.now().date().strftime('%Y-%m-%d') 

что дает следующее значение: 2017-05-21

Однако значения в моих документах (mongo) имеют двойные строки, прикрепленные к ним, как показано ниже: "2017-05-21"

Таким образом, буквальное заполнение приведенной выше строки («2017-05-21») точно в моем запросе pymongo работает как шарм. Однако мне нужна динамика функции datetime, но, к сожалению, она не соответствует строкам даты с двойными кавычками, которые мне нужны для запроса.

Кто-нибудь знает обходной путь? Я уже пробовал функцию замены и т. д. Она либо создает двойные кавычки внутри одинарных кавычек, либо ничего не делает.


Ответы:


1

Похоже, ваши документы MongoDB были вставлены неправильно, с использованием текста для полей даты вместо даты и времени BSON.

PyMongo автоматически преобразует дату и время Python в дату и время BSON, поэтому вы можете вставить документ, содержащий дату и время BSON, например:

dt = datetime.datetime.utcnow()
collection.insert_one({'myDate': dt})

Докажите, что теперь сравнение дат работает так:

# There is a document with myDate in the past, now.
print(collection.find_one({'myDate': {'$lt': datetime.datetime.utcnow()}}))
# No document with myDate in the future.
print(collection.find_one({'myDate': {'$gt': datetime.datetime.utcnow()}}))
21.05.2017
  • Спасибо, А. Джесси, я еще не пробовал ваше решение, но уже чувствую, что оно сработает. Большое спасибо!! 21.05.2017
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..


    Теги