java mongo自定义对象id userid

时间:2012-07-30 06:07:33

标签: java mongodb insert mongo-java

我们在Mongo数据库中有一个用户文档,并希望将_id字段用作userID字段并增加它。
我在Mongo文档中找到了一个计数器(“用户”)JS方法(http://www.mongodb.org/display/DOCS/Object+IDs)。

从Mongo Shell,我可以调用,

  

db.user.insert({_ id:counter(“user”),name:“tom”...});

现在,我如何使用Java代码中的相同命令?无法找到从Java代码中指定Javascript函数的方法 还看到了findAndModify命令和$ inc的用法,但无法让它工作。这样我们可以不用调用JS计数器函数,我猜想。

在_id字段中使用自定义值而不是Mongo的Object Id有什么含义,有什么警告吗?
〜vish

1 个答案:

答案 0 :(得分:0)

TL; DR :只需使用ObjectIds

生成像这样的新ObjectIds毫无意义。您应该为每个新对象创建一个新的ObjectId。它很容易,并提供良好的全球唯一性保证。

如果您这样做是为了从数据库中抽象出来,那么它将不起作用。 MongoDB是一个非常具体的数据库。如果你只使用mongo作为K / V商店(想想memcached,但速度较慢),抽象是可能的,但有更好的产品具有这种功能。