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支持。