Mongodb和Mongoose.js的新功能。
我创建了以下架构和模型:
var schema = new Schema({
_id: {part1: String, part2: Number},
name: String
});
mongoose.model('myDoc', schema);
我可以保存它,当我在mongo命令行上查看它时,看起来还不错。
但是在猫鼬中,当我这样做时:
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可以是bson类型。我究竟做错了什么? {part1:String,part2:Number}不是bson吗?
最佳答案
根据Mongoose作者的this post,Mongoose尚不支持复合_id
字段。
关于node.js - MongoDB, Mongoose 和复合_id,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28665768/