0

我们在 Mongo DB 中有一个用户文档,并希望使用 _id 字段作为 userID 字段并增加它。
我在 Mongo 文档(http://www.mongodb.org/display/DOCS/Object+IDs)中找到了一个 counter("user") JS 方法。

从 Mongo Shell,我可以调用,

db.user.insert({_id:counter("user"), name:"tom"...});

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

在 _id 字段中使用自定义值而不是 Mongo 的对象 ID 有什么影响,有什么注意事项吗?
〜vish

4

1 回答 1

0

TL;DR:只需使用 ObjectIds

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

如果您这样做是为了将自己从数据库中抽象出来,那将是行不通的。MongoDB 是一个非常特殊的数据库。如果您只将 mongo 用作 K/V 存储(想想 memcached,但速度较慢),抽象是可能的,但有更好的产品具有此功能。

于 2012-07-30T06:26:54.050 回答