因此,我创建了一些简单的应用程序来玩 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)
添加, { idGeneration: 'MONGO' }修复了问题:
SimpleTable = new Mongo.Collection("simpletable", { idGeneration: 'MONGO' });
Run Code Online (Sandbox Code Playgroud)
感谢B. Clay Shannon提供/sf/answers/2325989571/的链接
| 归档时间: |
|
| 查看次数: |
572 次 |
| 最近记录: |