現在の日付をフィールドとしてドキュメントを挿入しようとしています。 Java mongodbのEclipseプラグインを使用しています。mongoのDate()
コマンドを実行して、Javaからではなくmongoから日付を取得します。
このmongoクエリを実行するにはどうすればよいですか?
db.example.insert({"date":new Date()})
この質問はプレビューの質問で見つかりましたが、答えは役に立ちませんでした
標準ドライバーは Java.util.date タイプを取り、BSON日付としてシリアル化します。そのため、コレクションオブジェクトを「例」に
Date now = new Date();
BasicDBObject timeNow = new BasicDBObject("date", now);
example.insert(timeNow);
操作で「サーバー」時間を使用する方法を探している場合は、 $currentDate
演算子ですが、これは「更新」で機能するため、「アップサート」操作が必要です。
BasicDBObject query = new BasicDBObect();
BasicDBObject update = new BasicDBObject("$currentDate",
new BasicDBObject("date", true)
);
example.update(query,update,true,false);
これは実際には更新ステートメントであるため、これが挿入のみであることを意図している場合、実際にドキュメントと一致しないように注意する必要があります。したがって、「クエリ」には、新しく生成された_id
または同様にユニークなもの。
次のようなことを試してください:
db.example.insert({"date":ISODate("2016-03-03T08:00:00.000")});
これを使って:
db.example.insert({"date":new Date(Date.now())});