javascript - Meteor Collection 文档 ID : Random. id() 或 Meteor.Collection.ObjectID()

标签 javascript mongodb meteor

当我将文档插入 Meteor 集合时,它们有一个 _id,格式为 Random.id:

Random.id();
// "wjQyQ6sGjzvNMDLiJ"

当我将文档直接从 MongoDB 插入到相同的集合中时,它们有一个 Meteor.Collection.ObjectID 形式的 _id

new Meteor.Collection.ObjectID();
// LocalCollection._ObjectID {_str: "b105582bc495617542af18e9"…}

为什么我的应用使用 Random.id?这是旧设置吗?

我创建应用时的 Meteor 版本:

meteor@1.1.4
meteor-platform@1.2.1

最佳答案

从应用程序以编程方式创建 Meteor 集合时,您可以指定一个选项来确定使用哪种类型的 ID 生成方法为该集合中的文档生成新 ID。默认情况下,如果未指定选项,则使用随机字符串生成函数。查看 Meteor documentation看看我在说什么。如果不指定选项,Meteor 只使用 random包以生成这些 ID 字符串。如果您检查链接,您将看到列表中的第一项是随机 ID 生成函数。这是调用 Random.id() 函数的地方。显然,直接访问 MongoDB 绕过了这种可能的逻辑流程,产生了 MongoDB 类型的 ID 字符串。

关于javascript - Meteor Collection 文档 ID : Random. id() 或 Meteor.Collection.ObjectID(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29302940/

相关文章:

javascript - Typescript:为什么这段代码是 100% 有效的 javascript 代码却抛出异常

javascript - 在 Meteor.js 中,为什么 this.userId == undefined?

Meteor.js 提交事件

javascript - Html5 地理位置clearWatch() 没有响应

javascript - intel xdk 中的对象无法在智能手机中预览(应用程序预览)

javascript - 有没有办法使用 createJS/easelJS 来计算当前在舞台上显示的对象数量?

MongoDB:如何使用查找查询填充嵌套对象?

mongodb - 求和 Mongo 子文档数组

ios - Meteor - 如何检测应用程序是否已打开?

javascript - 使用变量创建动态 meteor 集合