MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Node.js към MongoDB:намиране по дата

Не се нуждаете от това опаковане. Датата си е дата :

var zeroth = {$or:[ {start: new Date(), {users:{$size:2}} ]}; 

Разбира се, ако тези „дати“ във вашия документ всъщност са „низове“, а не правилна дата типове, тогава това е ваш проблем. И това, което висистина трябва да коригирате тези стойности, така че да са реални дати.

Това важи за всички езикова реализация, където трябва да работите с родния тип "дата" и да оставите драйвера да направи преобразуването вместо вас.

Как да определите дали полето е низ

Е, ясната разлика е, че когато погледнете документ в mongo shell, ако това е истински BSON тип дата, тогава ще изглежда така:

"start": ISODate("2014-03-31T08:47:48.946Z"),

Ако това не е достатъчно ясно, тогава има $type оператор, който можете да използвате в заявка като тази:

db.collection.find({ "start": { "$type": 2 } }).count()

Също така не се MongoDB, който прави това, ако е низ, но по-скоро лошо внедряване в приложението или импортирането, което е отговорно за създаването на това. За което се отнасяха всички точки, направени в първоначалния отговор.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Дизайн на MongoDB схема (вложен масив срещу отделна колекция)

  2. Как да се справим с деленето на нула в рамката за агрегиране на MongoDB

  3. MongoDB получава първия и последния документ в обобщената заявка

  4. Как да превърна MongoDB заявка в JSON?

  5. Как да актуализирате вграден документ в рамките на вграден документ в mongoose?