MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Node.js do MongoDB:znajdź według daty

Nie potrzebujesz żadnego z tego opakowania. Data to data :

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

Teraz oczywiście, jeśli te „daty” w twoim dokumencie są w rzeczywistości „ciągami”, a nie prawidłową datą typy to jest twój problem. I co naprawdę trzeba naprawić te wartości, aby były prawdziwymi datami.

Dotyczy to dowolnych implementacja języka, gdzie powinieneś pracować z natywnym typem „data” i pozwolić sterownikowi wykonać konwersję za Ciebie.

Jak określić, czy pole jest ciągiem

Cóż, wyraźna różnica polega na tym, że kiedy patrzysz na dokument w powłoce mongo, jeśli jest to prawdziwy typ daty BSON, to wygląda to tak:

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

Jeśli to nie jest wystarczająco jasne, istnieje $type operator, którego możesz użyć w zapytaniu takim jak to:

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

To również nie MongoDB, który to robi, jeśli jest to ciąg znaków, ale raczej zła implementacja w aplikacji lub imporcie, który był odpowiedzialny za utworzenie tego. Właśnie o to chodziło w punktach przedstawionych w początkowej odpowiedzi.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Przetłumacz Queryable<T> z powrotem na IMongoQuery

  2. Korzystanie z obietnic w trasach Mongoose

  3. Zmiana katalogu magazynu danych MongoDB

  4. Jak uzyskać wszystkie wartości, które zawierają część ciągu za pomocą wyszukiwania mangusty?

  5. Zarządzanie AWS:jak zaoszczędzić 30% na kosztach hostingu MongoDB