0

我正在将 MongoDB 与 Clojure 和 Congomongo 一起使用,并且我正在尝试在插入文档时执行一些基本的 Java 脚本。

有两个用例是我想在插入期间执行一些 Java 脚本:a)编写最后修改的时间戳 b)创建一个版本标记作为 ObjectId

两者都非常相似,这里有一些 MongoDB Shell 示例。

db.test.update({_id:ObjectId("4fe3304fc2e61906ccdd7364")}, {$set: {created:Date()}}, false, false)

或者

db.test.insert({version:ObjectId(), foo:"Bar"})

有谁知道我如何使用刚果蒙戈或普通的 Java 驱动程序来做到这一点?

我试过了

org.bson.types.Code
org.bson.types.CodeWScope

并得到类似的东西:

{ "_id" : ObjectId("4fe32998c2e61906ccdd735f"), "version" : function cf__14_anon() { return ObjectId(); } } 

这很有趣但没有帮助。不幸的是,无法在客户端上创建时间戳/版本/ObjectId,因为我无法确保客户端的时钟是同步的。我们version在服务器和客户端之间使用同步/复制数据,过去创建版本/时间戳确实会危及这个过程。

提前感谢您的帮助....

4

0 回答 0