Javascript 为什么猫鼬要将我的字符串转换为ObjectId?
我有这个谢玛:Javascript 为什么猫鼬要将我的字符串转换为ObjectId?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我有这个谢玛: S_logs = new mongoose.Schema({ user_ip : {type: mongoose.Schema.Types.ObjectId}, user_id : String, user_agent : String, canal_id : String, theme_id : String, video_id : String, osef : String, time : Number,
S_logs = new mongoose.Schema({
user_ip : {type: mongoose.Schema.Types.ObjectId},
user_id : String,
user_agent : String,
canal_id : String,
theme_id : String,
video_id : String,
osef : String,
time : Number,
action: String,
is_newuser : String,
operator : String,
template : String,
catalogue : String,
referer : String,
from : String,
osef1 : String
});
我这样填写:
while (i < logs.length) {
DB_logs[i] = new Model({
user_ip : logs[i].user_ip,
user_id : logs[i].user_id,
user_agent : logs[i].user_agent,
canal_id : logs[i].canal_id,
theme_id : logs[i].theme_id,
video_id : logs[i].video_id,
osef : logs[i].osef,
time : logs[i].time,
action: logs[i].action,
is_newuser : logs[i].is_newuser,
operator : logs[i].operator,
template : logs[i].template,
catalogue : logs[i].catalogue,
referer : logs[i].referer,
from : logs[i].from,
osef1 : logs[i].osef1
});
i = i + 1;
}
我做错了什么,以至于猫鼬用一个数据字段作为id
{ message: 'Cast to ObjectId failed for value "157.55.39.208" at path "user_ip"',
name: 'CastError',
type: 'ObjectId',
value: '157.55.39.208',
path: 'user_ip' }
这看起来像一个简单的打字错误:
user_ip : {type: mongoose.Schema.Types.ObjectId},
user_id : String,
应该是
user_id : {type: mongoose.Schema.Types.ObjectId},
user_ip : String,
将
user\u ip
作为String
user_ip :String
乌格,我有一种上吊的冲动,被人逼着去问这样一个愚蠢的错误……别担心。这种情况偶尔会发生在我们所有人身上。用这个答案来对彼得·莱昂斯进行敏锐的观察。
user_ip :String