MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDB –「文字列型から日付型への変換に失敗しました」を修正しましたか?


これを修正するには、MongoDBaggregate()で$dateFromStringを使用します。 $ dateFromStringは、日付/時刻文字列を日付オブジェクトに変換します。

ドキュメントを使用してコレクションを作成しましょう-

> db.demo619.insertOne({"DueDate":"10-10-2020"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e99d7846c954c74be91e69e")
}
> db.demo619.insertOne({"DueDate":"12-01-2019"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e99d7996c954c74be91e69f")
}
> db.demo619.insertOne({"DueDate":"28-10-2010"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e99d7ab6c954c74be91e6a0")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo619.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e99d7846c954c74be91e69e"), "DueDate" : "10-10-2020" }
{ "_id" : ObjectId("5e99d7996c954c74be91e69f"), "DueDate" : "12-01-2019" }
{ "_id" : ObjectId("5e99d7ab6c954c74be91e6a0"), "DueDate" : "28-10-2010" }

以下は、tyの日付/時刻文字列から日付オブジェクトに変換するクエリです-

> db.demo619.aggregate( [ {
...    $project: {
...       DueDate: {
...          $dateFromString: {
...             dateString: '$DueDate',
...             timezone: 'America/New_York'
...          }
...       }
...    }
... } ] )

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e99d7846c954c74be91e69e"), "DueDate" : ISODate("2020-10-10T04:00:00Z") }
{ "_id" : ObjectId("5e99d7996c954c74be91e69f"), "DueDate" : ISODate("2019-01-12T05:00:00Z") }
{ "_id" : ObjectId("5e99d7ab6c954c74be91e6a0"), "DueDate" : ISODate("2010-10-28T04:00:00Z") }

  1. MySQLで文字列から日付を抽出する方法は?

    MySQLの文字列から日付を抽出するには、SUBSTRING_INDEX()を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Title text    -> ); Query OK, 0 rows affected (0.58 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John has got join

  2. Javaで文字列を日付に変換する

    以下が私たちの文字列だとしましょう- String date1 ="11/10/2018"; String date2 = "15-Mar-2019 21:11:35"; 次に、上記の文字列を日付に変換します- SimpleDateFormat dateFormat1 = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat dateFormat2 = new SimpleDateFormat("dd-MMM-yyyy HH:mm:ss"); Date form