我对 node.js 和 mongoose 比较陌生,所以我一直在努力让人们为 mongoose 工作。根据猫鼬官方文档,字符串可以用作引用:
注意:ObjectId、Number、String 和 Buffer 可用作引用。
基于此,我一直在尝试填充 String 类型的字段,而不是 ObjectId 类型。然而,每次我尝试这样做时,我都会收到一个 CastError:
CastError:路径“_id”处的值“testuser”转换为 ObjectId 失败
如果有帮助,这是我的代码:
/=============== In user.js ===============/
var UserSchema = new mongoose.Schema({
_username: { type: String, required: true, unique: true },
password: { type: String, required: true },
date_created: { type: Date, required: true, default: Date.now() },
last_accessed: { type: Date, required: true },
admin_access: { type: Boolean, required: true }
});
UserSchema.post('save', function(user) {
// Settings Model
var Settings = require('./settings'); …Run Code Online (Sandbox Code Playgroud)