• 幕客老师召集小伙伴
  • python自动化运维项目实战
  • nginx从入门到实战
  • 阿里云与Centos7实战

Mongodb-数据库引用DBRef

一、DBRef数据库引用基本格式:

 

iaskjob:PRIMARY> db.test.movie.insert({_id:'m1',name:"I am legend"})
WriteResult({ "nInserted" : 1 })
iaskjob:PRIMARY> db.test.movie.insert({_id:'m2',name:"I am hero"})
WriteResult({ "nInserted" : 1 })

数据格式内容如下:

#最喜欢电影名称表

iaskjob:PRIMARY> db.test.movie.find()
{ "_id" : "m1", "name" : "I am legend" }
{ "_id" : "m2", "name" : "I am hero" }

#用户信息表

iaskjob:PRIMARY> db.test.user.insert({name: "jeson", favorite_movies:[new DBRef(“test.movie”, “m1″), new DBRef(“test.movie”, “m2″)]})
WriteResult({ "nInserted" : 1 })

#方式1、通过普通的方式,简单手工关联

 

#方式2、通过DBRef进行关联查询
iaskjob:PRIMARY> db.test.user.findOne().favorite_movies[0].fetch()
{ "_id" : "m1", "name" : "I am legend" }

优点是不会有数据冗余或数据不一致问题,相比mysql的join不需要了解其具体类型,缺点是需要多次查询才能获得所需要的数据,开销大,在宿主document较多时尤其明显。

 

Mongodb-数据库引用DBRef

Pingbacks已打开。

引用地址

暂无评论

发表评论