8

Oracle では、次のように簡単に実行できます。

INSERT INTO myTable VALUES ('someValue',SYSTIMESTAMP);

これにより、myTable に 2 つの値が挿入され、そのうちの 1 つはデータベース サーバーの時刻に基づくタイムスタンプになります。

MongoDBの場合(Javaドライバー経由)、これを試しました:

myDoc.put("value","someValue");
myDoc.put("timestamp", new Date());
myCollection.insert(myDoc);

ただし、データベース サーバーの時刻ではなく、クライアント マシンの時刻に基づいてタイムスタンプが作成されます。

データベースサーバーの時間に基づいて、MongoDB にタイムスタンプをドキュメントに適用させる方法はありますか?

4

3 に答える 3

0

を使用して挿入時にサーバーにタイムスタンプを生成させることができるようですdb.test.insertOne( { ts: new Timestamp() } );https://docs.mongodb.com/manual/reference/bson-types/#timestamps

于 2021-02-14T18:00:11.883 に答える
-1

MongoDB 用のMorphia ORM ツールを使用する

あなたの問題のために、これのライフサイクルメソッドが役に立ちます。

@Prepersistメソッドを使用して結果を取得しています

于 2012-05-27T06:12:11.640 に答える