Mysql
 sql >> база данни >  >> RDS >> Mysql

Mongodb:Заявка въз основа на време във формат ISODate. Какво не е наред в запитването ми?

Заявката не дава никакви резултати, защото $hour се прилага само в тръбопровода за агрегиране, а не find() заявка. Така че във вашето агрегиране вашият конвейер има две стъпки, $project което създава ново поле, което съдържа часовата част и следващия етап $match който след това прави запитвания към документите.

По този начин крайната ви операция за агрегиране ще бъде така:

var pipeline = [
    {
        "$project": {
            "hour": { "$hour": "$date" },
            "date": 1
        }
    },
    {
        "$match": {
            "hour": { "$gt": 4,  "$lt": 8}
        }
    }
]

db.collection.aggregate(pipeline);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. (доставчик:Named Pipes Provider, грешка:40 - Не можа да се отвори връзка към SQL Server)

  2. Избиране на произволен запис от MySQL база данни

  3. Извличане на данни от sql база данни и показване в таблици - Показване на определени данни според поставените отметки в квадратчетата

  4. IN клауза в mysql nodejs

  5. SQLAlchemy DELETE Грешка, причинена от наличието както на мързеливо натоварване, така и на динамична версия на една и съща връзка