Meteor 插入创建了一个奇怪的 _id 值

Pre*_*vić 3 mongodb meteor

因此,我创建了一些简单的应用程序来玩 Meteor 来学习它,几周前一切都运行良好。但是,度假回来后,我将 Meteor 更新到了最新版本,现在突然,插入方法创建了一些奇怪的 _id 值。

也就是说,我用随机值填充数据库,并且 _id 值都是正确的 24 个字符的十六进制字符串,例如 562a3d8de2547280a275088a 等。为此,我使用 mongo insert ,如下所示:

db.simpletable.insert({ name: 'LbDM7kbZf', email: 'E7vfcDZi@yahoo.com', age: 32 });
db.simpletable.insert({ name: 'I6UClhz', email: 'DIZ15@yahoo.com', age: 44 });
db.simpletable.insert({ name: 'XeE3vNz', email: 'X0nUFJUshm@yahoo.com', age: 33 });
...
Run Code Online (Sandbox Code Playgroud)

但是,当我从 Meteor 调用 .insert 时,_id 值是一个像这样的 17 个字符的字符串tJ3PXRmjderbu9oKF,在客户端上我收到以下错误:

Uncaught Error: Invalid hexadecimal string for creating an ObjectID
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题,甚至不知道去哪里查找,因为插入非常简单:

SimpleTable = new Mongo.Collection("simpletable");

SimpleTable.insert({
    name: aObj.name,
    email: aObj.email,
    age: aObj.age
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Pre*_*vić 5

添加, { idGeneration: 'MONGO' }修复了问题:

SimpleTable = new Mongo.Collection("simpletable", { idGeneration: 'MONGO' });
Run Code Online (Sandbox Code Playgroud)

感谢B. Clay Shannon提供/sf/answers/2325989571/的链接