MongoDB Middle Level----> 关联多表查询
来源:互联网 发布:减肥励志故事知乎 编辑:程序博客网 时间:2024/06/14 11:08
MongoDB Middle Level----> 关联多表查询
转自:http://blog.csdn.net/crazyjixiang/article/details/6616678
DBRef is a more formal specification for creating references between documents. DBRefs (generally) include a collection name as well as an object id. Most developers only use DBRefs if the collection can change from one document to the next. If your referenced collection will always be the same, the manual references outlined above are more efficient.
- ^_^[root@:/usr/local/mongodb/bin]#./mongo
- MongoDB shell version: 1.8.2
- connecting to: test
- > var a = {name:"C++"}
- > db
- test
- > db.language.save(a)
- > db.language.find()
- { "_id" : ObjectId("4da32c897d2de864e0448e06"), "name" : "C++" }
- > var b = {name:"javascript"}
- > db.language.save(b)
- > db.language.find()
- { "_id" : ObjectId("4da32c897d2de864e0448e06"), "name" : "C++" }
- { "_id" : ObjectId("4da32cb17d2de864e0448e07"), "name" : "javascript" }
- > lan = {name:"obj1",computer:[new DBRef('language',a._id)]}
- {
- "name" : "obj1",
- "computer" : [
- {
- "$ref" : "language",
- "$id" : ObjectId("4da32c897d2de864e0448e06")
- }
- ]
- }
- > lan.computer[0]
- { "$ref" : "language", "$id" : ObjectId("4da32c897d2de864e0448e06") }
- > lan.computer[0].fetch()
- { "_id" : ObjectId("4da32c897d2de864e0448e06"), "name" : "C++" }
- > db.language.insert(lan)
- > db.language.find()
- { "_id" : ObjectId("4da32c897d2de864e0448e06"), "name" : "C++" }
- { "_id" : ObjectId("4da32cb17d2de864e0448e07"), "name" : "javascript" }
- { "_id" : ObjectId("4da33b487d2de864e0448e08"), "name" : "obj1", "computer" : [ { "$ref" : "language", "$id" : ObjectId("4da32c897d2de864e0448e06") } ] }
- > db.language.findOne({name:"obj1"}).computer[0].fetch()
- { "_id" : ObjectId("4da32c897d2de864e0448e06"), "name" : "C++" }
- > lan2 = {name:"obj2",computer:[new DBRef('language',b._id)]}
- {
- "name" : "obj2",
- "computer" : [
- {
- "$ref" : "language",
- "$id" : ObjectId("4da32cb17d2de864e0448e07")
- }
- ]
- }
- > db.language.insert(lan2)
- > db.language.find()
- { "_id" : ObjectId("4da32c897d2de864e0448e06"), "name" : "C++" }
- { "_id" : ObjectId("4da32cb17d2de864e0448e07"), "name" : "javascript" }
- { "_id" : ObjectId("4da33b487d2de864e0448e08"), "name" : "obj1", "computer" : [ { "$ref" : "language", "$id" : ObjectId("4da32c897d2de864e0448e06") } ] }
相关数据存放在一起,针对性的查询可以消除join,性能比分散存储要高且方便
- MongoDB Middle Level----> 关联多表查询
- MongoDB Middle Level----> MongoDB 权限
- MongoDB多表关联查询
- MongoDB多表关联查询
- MongoDB中级---->关联多表查询
- MongoDB的多表关联查询
- 【Mongodb】---关联表查询population
- mongodb 脚本多集合关联查询更新
- MongoDB Middle Level---> 大数据量下MapReduce取代GroupBy
- mongodb关联查询----js
- 关联查询(多表查询)
- MongoDB 通过 DBRef关联查询
- spring mongodb整合 关联查询
- 多表关联查询
- Mongodb多表查询
- MongoDB的多表关联操作
- sql 多表关联查询
- hibernate多表关联查询
- 发现一个特别有意思的网站,做的特别符合某些人的迫切需求!!
- java并发 --数据共享与atomic实现机制
- java 简单排序算法
- MongoDB Middle Level---> 大数据量下MapReduce取代GroupBy
- 官与匪:我观淘宝商城与部分小卖家之冲突
- MongoDB Middle Level----> 关联多表查询
- 【原】向html5进军(5)——用flash和wallaby+制作html5动画 第四章
- URLConnection 详细
- 图书管理员datagird行里增加checkbox并根据相应的权限进行显示
- 正确安装VirtualBox
- MongoDB Primary---->简要介绍 和 Linux安装MongoDB 并 简单使用
- 我的计算机成长路
- httpurlconnection
- MongoDB Primary---->编译MongoDB,C++连接MongoDB测试