MongoDB、Mongoose 和复合 _id
MongoDB, Mongoose, and composite _id
新加入 Mongodb & Mongoose.js。
我创建了以下架构和模型:
var schema = new Schema({
_id: {part1: String, part2: Number},
name: String
});
mongoose.model('myDoc', schema);
我可以保存这个,当我在 mongo 命令行上查看时,它看起来很好。
然而在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
字段。
新加入 Mongodb & Mongoose.js。
我创建了以下架构和模型:
var schema = new Schema({
_id: {part1: String, part2: Number},
name: String
});
mongoose.model('myDoc', schema);
我可以保存这个,当我在 mongo 命令行上查看时,它看起来很好。
然而在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
字段。