我们在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
答案 0 :(得分:0)
TL; DR :只需使用ObjectIds
生成像这样的新ObjectIds毫无意义。您应该为每个新对象创建一个新的ObjectId。它很容易,并提供良好的全球唯一性保证。
如果您这样做是为了从数据库中抽象出来,那么它将不起作用。 MongoDB是一个非常具体的数据库。如果你只使用mongo作为K / V商店(想想memcached,但速度较慢),抽象是可能的,但有更好的产品具有这种功能。