码迷,mamicode.com
首页 > 数据库 > 详细

Mongodb描述表关系

时间:2017-06-02 20:26:20      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:obj   而且   ext   name   join   支持   数据   mongodb   add   

方式一:嵌入式

 

> db.person.find({name:‘zjf‘}).pretty()

{

      "_id" : ObjectId("592ffd872108e8e79ea902b0"),

      "name" : "zjf",

      "age" : 30,

      "address" : {

           "province" : "河南省",

           "city" : "南阳市",

           "building" : "桐柏县"

      }

}

将address作为一个对象嵌入到person中,此处也可以是一个数组。

这种方式会有数据冗余。而且address被写死在了person中,对于所有person来说,他们的address都是一个一个独立的,而不是可以作为一类一类共享的。

方式二:引用式

 

> db.person.find({name:‘xhj‘}).pretty()

{

      "_id" : ObjectId("593011c8a92497992cdfac10"),

      "name" : "xhj",

      "age" : 30,

      "address" : ObjectId("59314b07e693aae7a5eb72ab")

}

> db.address.find().pretty()

{

      "_id" : ObjectId("59314b07e693aae7a5eb72ab"),

      "province" : "河南省",

      "city" : "南阳市",

      "building" : "桐柏县"

}

person中存储的是指向address的引用。这种方式的缺点是要经过join才能获取到所有数据,但是Mongodb的不支持直接的join语法。

Mongodb描述表关系

标签:obj   而且   ext   name   join   支持   数据   mongodb   add   

原文地址:http://www.cnblogs.com/xiaolang8762400/p/6934895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!