使用Java驱动程序时,如何在服务器上执行JavaScript

时间:2012-06-21 14:53:03

标签: java mongodb clojure

我正在使用带有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同步/复制数据,并且过去创建版本/时间戳确实会危及此过程。

先谢谢你的帮助....

0 个答案:

没有答案