我正在使用带有Clojure和Congomongo的MongoDB,我正在尝试在插入文档时执行一些基本的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"})
有没有人知道如何使用Congomongo或普通的Java-Driver来实现它?
我试过
org.bson.types.Code
org.bson.types.CodeWScope
并得到类似的东西:
{ "_id" : ObjectId("4fe32998c2e61906ccdd735f"), "version" : function cf__14_anon() { return ObjectId(); } }
这很有趣,但没有帮助。不幸的是,无法在客户端上创建timestamps / version / ObjectId,因为我无法确保客户端的时钟是同步的。我们在服务器和客户端之间使用version
同步/复制数据,并且过去创建版本/时间戳确实会危及此过程。
先谢谢你的帮助....