当我将文档插入 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/