web-dev-qa-db-ja.com

mongoで日付付きのドキュメントを挿入する方法は?

現在の日付をフィールドとしてドキュメントを挿入しようとしています。 Java mongodbのEclipseプラグインを使用しています。mongoのDate()コマンドを実行して、Javaからではなくmongoから日付を取得します。

このmongoクエリを実行するにはどうすればよいですか?

db.example.insert({"date":new Date()})

この質問はプレビューの質問で見つかりましたが、答えは役に立ちませんでした

リンク

13
itaied

標準ドライバーは 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または同様にユニークなもの。

20
Neil Lunn

次のようなことを試してください:

db.example.insert({"date":ISODate("2016-03-03T08:00:00.000")});
5
maikelsperandio

これを使って:

db.example.insert({"date":new Date(Date.now())});
4
Devesh Kumar