阳光博文 你的空间 知识的容器

MongoDB联合查询

1、简单手工关联
首先将结果查询出来放到一个变量里面,然后再查询
u = db.user.findOne({author:"wangwenlong"});
for(var p = db.postings.find({author:u.author});p.hasNext;){
printjson(p.next().title);
}
2、DBRef方式关联
例子:
步骤1 取得当前用户信息
db.user.insert({name:"wangwenlong"})
u1 = db.user.find({name:"wangwenlong"})[0]
步骤2 发帖子并做关联
db.postings.insert({"title":"Hello MongoDB!",users:[new DBRef('user',u1._id)]})
db.postings.insert({"title":"Hello China!",users:[new DBRef('user',u1._id)]})
步骤3 通知贴子茶轴用户信息
db.postings.find({title:"Hello China!"})[0].users[0].fetch()

在线咨询