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

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

相关文章:

node.js - 将数据插入 MongoDB - 没有错误,没有插入

node.js - 聊天项目 - 使用 socket.io 进行负载平衡

python - 我可以只获取 Cursor 对象(pymongo)中的第一项吗?

java - 指定字段对于 MongoDB 是 transient 的,但对于 RestContro

python - django 和 mongodb 是否使迁移成为过去?

mongodb - MongoDB批量FindAndModify的解决方案

mongodb - 当父字段未知时,在嵌套文档中查找具有字段的记录

node.js - Mongoose,查找,返回特定属性

javascript - MongoError : cannot change _id of a d

mongodb - 更新 mongodb 中的嵌套文档