sql >> データベース >  >> NoSQL >> MongoDB

Node.jsからMongoDBへ:日付で検索

    このラッピングは必要ありません。日付は日付です :

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

    もちろん、ドキュメント内のこれらの「日付」が実際には「文字列」であり、適切な日付ではない場合 タイプすると、それがあなたの問題です。そして、あなたが本当に これらの値を実際の日付になるように修正する必要があります。

    これはすべてに適用されます 言語の実装。ネイティブの「日付」タイプを使用して、ドライバーに変換を任せる必要があります。

    フィールドが文字列かどうかを判断する方法

    明らかな違いは、mongoシェルでドキュメントを見ると、それが実際のBSON日付型である場合、次のようになります。

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

    それが十分に明確でない場合は、 $type 次のようなクエリで使用できる演算子:

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

    また、そうではありません 文字列の場合にこれを実行しているMongoDBですが、これを作成する原因となったアプリケーションまたはインポートでの実装がかなり悪いです。これが、最初の回答で指摘されたすべてのことでした。




    1. RailsPumaのRedis接続が不足しています

    2. Mongodbのネストされた配列に要素を挿入します

    3. mongoDBでインデックス付きデータを検索することの複雑さ(Big-O)は何ですか?

    4. Mongoクエリの実行db.collection.runCommand(text、{search:search text})