Mongodb 如何将mongoose中的id设置为只有数字而不是字符串

Mongodb 如何将mongoose中的id设置为只有数字而不是字符串,mongodb,mongoose,Mongodb,Mongoose,默认情况下,mongoose在对象id中存储一个随机字符串。我需要的id只能是数字。有什么方法可以做到这一点吗?我建议您保留使用mongoose自动生成的对象id,但如果您真的想更改id(我希望您指的是_id)。那么你可以这样试试 let user= new Schema({ _id: Number, username:String, blah blah blah}); 或者您可以使用此选项禁用_id let user= new Schema({ _id: Number, username:S

默认情况下,mongoose在对象id中存储一个随机字符串。我需要的id只能是数字。有什么方法可以做到这一点吗?

我建议您保留使用mongoose自动生成的对象id,但如果您真的想更改id(我希望您指的是_id)。那么你可以这样试试

let user= new Schema({ _id: Number, username:String, blah blah blah});
或者您可以使用此选项禁用_id

let user= new Schema({ _id: Number, username:String, blah blah blah},{ _id: false });
如果您想通过保留\u id来创建一个额外的字段“id”,那么您可以试试这个

let user= new Schema({ id: Number, username:String, blah blah blah});

只需使用类型号作为类型,就可以考虑插件,可能它满足您的需要。

我不想在mongoose模式中使用_id。我喜欢mongoose创建自己id的方式。我只希望这个id是数字类型,而不是字符串类型。这可能吗?是的,当然。。再次检查答案我已经更新了我考虑过了,但我只想要一个id。我不想要两个id为的字段。那么,不要在模式中提及任何id,让猫鼬发挥它的魔力。谢谢!这确实有帮助!