MongoDB,Mongoose和复合_id

Mongodb和Mongoose.js的新手

我创build了以下架构和模型:

var schema = new Schema({ _id: {part1: String, part2: Number}, name: String }); mongoose.model('myDoc', schema); 

我可以保存这个,当我在mongo命令行上查看它时,它看起来很好。

然而在mongoose当我做的时候:

 myDoc.find({}, function(err, recs) { var rec = recs[0]; console.log('----' + JSON.stringify(rec)); }); 

我得到我的对象打印出来,但有以下例外: Cast to ObjectId failed for value "[object Object]" at path "_id"

我已经看到了一些解释,但我不明白我做错了什么,以及我需要如何解决它。

根据mongodb文档,_id可以是bsontypes。 我究竟做错了什么? 不是{part1:String,part2:Number}一个bson?

根据这个来自Mongoose作者的post ,复合_id字段还不被Mongoose支持。