这是我的架构定义:
var DocSchema = new mongoose.Schema({
_id: {
name: String,
path: String
},
label: String,
...
});
mongoose.model('Doc', DocSchema, 'doc_parse_utf8');
var Doc = mongoose.model('Doc');
Run Code Online (Sandbox Code Playgroud)
并且其他程序已将文件插入到mongodb中.然后我试着查询文件:
Doc.findOne({_id:{name:name,path:path}}, function(err, doc){
if (err && err_handler) {
err_handler(err);
} else if(callback) {
callback(doc);
}
});
Run Code Online (Sandbox Code Playgroud)
但是,将报告一个强制转换错误:
{ message: 'Cast to ObjectId failed for value "[object Object]" at path "_id"',
name: 'CastError',
type: 'ObjectId',
value: { name: 'mobile', path: 'etc/' },
path: '_id' }
Run Code Online (Sandbox Code Playgroud)
我在mongoose的文档,google和statckoverflow.com上搜索过这个问题,然而,对我来说没有任何解决方案.请帮忙,谢谢.