sql >> Databáze >  >> NoSQL >> MongoDB

Node.js do MongoDB:najít podle data

Žádný z těchto obalů nepotřebujete. Datum je datum :

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

Nyní samozřejmě, pokud tato „data“ ve vašem dokumentu jsou ve skutečnosti „řetězce“ a nikoli správné datum typů, pak je to váš problém. A co skutečně je potřeba tyto hodnoty opravit, aby to byla skutečná data.

To platí pro jakékoli jazyková implementace, kde byste měli pracovat s nativním typem „datum“ a nechat ovladač, aby provedl konverzi za vás.

Jak určit, zda je pole řetězec

Jasný rozdíl je, když se podíváte na dokument v mongo shellu, pokud se jedná o skutečný typ data BSON, bude to vypadat takto:

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

Pokud to není dostatečně jasné, existuje $type operátor, který můžete použít v dotazu, jako je tento:

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

Také není MongoDB to dělá, pokud se jedná o řetězec, ale spíše špatná implementace v aplikaci nebo importu, který byl zodpovědný za vytvoření tohoto. O čem byly body uvedené v úvodní odpovědi.




  1. Nelze odstranit, vyčistit, odinstalovat mongodb z debianu

  2. Jak mohu spustit db.copyDatabase prostřednictvím nativního ovladače NodeJS MongoDB?

  3. MongoDB - otevřené a uzavřené spojení - doporučení pro dobrou praxi

  4. Připojte se k hostiteli mongodb z kontejneru dockeru