#45 楼 @vincent https://github.com/LearnBoost/mongoose/issues/2141 抽象成一个简单的模型了。这个实际问题:一个所有用户投票结果的集合 CSchema, 一个投票项目集合 ASchema(每个投票选项是子文档 BSchema), 现在要找某个用户的所有投票列表 (找出用户名、用户投给的选项、投票项目的名字)
ASchema = new mongoose.Schema({
name: String,
B: [BSchema]
});
var BSchema = new Schema({
name: String
});
var CSchema = new Schema({
name: String,
B: {
type: Schema.ObjectId,
ref: 'BSchema'
}
});
@vincent 谢谢!当然有兴趣啊。我的解决方法就是第一种,查了又查,尤其是列表循环地再查,让人越发怀念 mysql 的好处。embed document 就是 sub document 吧,如果 embed document 和别的集合 join 查询就不行:https://github.com/LearnBoost/mongoose/issues/2141 . 据说可以通过数据库的集合结构设计来解决,但太难了,设计地不好,以后要查的时候又要痛苦啊,不如 mysql 直接随便设计随便查容易。
mongodb 不支持多表 join 查询,有什么方法可以补救吗?
公司又把淘宝给封了,冤冤相报何时了~