国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - MongoDB - Mongodb實現的關聯表查詢功能【population方法】

Mongodb實現的關聯表查詢功能【population方法】

2020-05-14 14:45IT姑涼 MongoDB

這篇文章主要介紹了Mongodb實現的關聯表查詢功能,結合實例形式較為詳細的分析了population方法實現關聯表查詢的原理與相關操作技巧,需要的朋友可以參考下

本文實例講述了Mongodb實現的關聯表查詢功能。分享給大家供大家參考,具體如下:

Population

MongoDB是非關聯數據庫。但是有時候我們還是想引用其它的文檔。這就是population的用武之地。

Population是從其它文檔替換文檔中的特定路徑。我們可以遷移一個單一的文件,多個文件,普通對象,多個普通的對象,或從查詢中返回的所有對象

populate 方法

populate 方法可以用在 document 上、 model 上或者是 query 對象上,這意味著你幾乎可以在任何地方調用這個方法以填充你的引用字段。

當然,populate 方法在不同對象上參數不大一樣,但是都接收一個option的參數,你可以用這些參數指定:

語法:Query.populate(path, [select], [model], [match], [options])

path:以空格分隔的引用字段的名稱 String 或 Object類型,
String 類型的時, 指定要填充的關聯字段,要填充多個關聯字段可以以空格分隔。
Object 類型的時,就是把 populate 的參數封裝到一個對象里。當然也可以是個數組

select: Object 或 String ,可選,指定填充 document 中的哪些字段。
Object 類型的時,格式如: {name: 1, _id: 0} ,為 0 表示不填充,為 1 時表示填充。
String 類型的時,格式如: "name -_id" ,用空格分隔字段,在字段名前加上 -表示不填充。詳細語法介紹 query-select

match: 可選,指定附加的查詢條件

model: 可選,指定關聯字段的 model,如果沒有指定就會使用 Schema的 ref

options:  Object 可選,指定附加的其他查詢選項,如排序以及條數限制等等

引用字段的類型

目前,Mongoose 只支持以下幾種引用字段的類型:

ObjectId
Number
String
Buffer

而且自然而然,引用 document 的主鍵類型必須和引用字段類型相對應。在生產環境中,推薦主鍵類型和引用類型都使用 ObjectId ,一是因為 ObjectId 不包含業務含義,二是 ObjectId 不大可能重復,三是因為 Mongoose 默認生成的主鍵類型就是 ObjectId ,可以減少很多配置的操作。

例子

Scheme先定義好,關聯屬性

AScheme:

?
1
2
3
4
5
6
7
8
9
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var AScheme= new Schema({
  name: {
    type: String,
    default: ''
  }
},{collection: 'a'});
module.exports = mongoose.model('A', CountSchema);

BScheme:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var BScheme= new Schema({
  name: {
    type: String,
    default: ''
  },
  age:{
    type:Number
  }
  aid: {
     type: mongoose.Schema.ObjectId,//如果AScheme的_id type為String,這里對應寫String
     ref:'A'
  }
},{collection: 'b'});
module.exports = mongoose.model('B', CountSchema);

關聯查詢

?
1
2
3
4
5
6
AModel.find().populate({path: 'aid', select: {name: 1,_id:0}}).exec(function(err, a) {
  if (err) res.send(err);
  console.log(a);
});
//
AModel.find(...).populate({ path: 'aid', match: { age: { $gte: 21 }}, select: 'name -_id', options: { limit: 5 } }) .exec()

更多相關內容還可參考:http://mongoosejs.com/docs/api.html#model_Model.populate

希望本文所述對大家MongoDB數據庫程序設計有所幫助。

延伸 · 閱讀

精彩推薦
  • MongoDBMongoDB憑什么躋身數據庫排行前五

    MongoDB憑什么躋身數據庫排行前五

    MongoDB以比去年同期超出65.96分的成績繼續雄踞榜單前五,這個增幅在全榜僅次于PostgreSQL的77.99,而其相對于4月份的6.10分的增長也是僅次于微軟SQL Server排名...

    孫浩峰3892020-05-22
  • MongoDB遷移sqlserver數據到MongoDb的方法

    遷移sqlserver數據到MongoDb的方法

    這篇文章主要介紹了遷移sqlserver數據到MongoDb的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    聽楓xl9682021-01-03
  • MongoDBMongoDB安裝圖文教程

    MongoDB安裝圖文教程

    這篇文章主要為大家詳細介紹了MongoDB安裝圖文教程,分為兩大部分為大家介紹下載MongoDB和安裝MongoDB的方法,感興趣的小伙伴們可以參考一下 ...

    Yangyi.He6132020-05-07
  • MongoDBMongoDB中javascript腳本編程簡介和入門實例

    MongoDB中javascript腳本編程簡介和入門實例

    作為一個數據庫,MongoDB有一個很大的優勢——它使用js管理數據庫,所以也能夠使用js腳本進行復雜的管理——這種方法非常靈活 ...

    MongoDB教程網6982020-04-24
  • MongoDB分布式文檔存儲數據庫之MongoDB分片集群的問題

    分布式文檔存儲數據庫之MongoDB分片集群的問題

    這篇文章主要介紹了分布式文檔存儲數據庫之MongoDB分片集群的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋...

    Linux-18743072020-12-20
  • MongoDBMongoDB 內存使用情況分析

    MongoDB 內存使用情況分析

    都說 MongoDB 是個內存大戶,但是怎么知道它到底用了多少內存呢...

    MongoDB教程網10002020-09-29
  • MongoDBMongodb實現定時備份與恢復的方法教程

    Mongodb實現定時備份與恢復的方法教程

    這篇文章主要給大家介紹了Mongodb實現定時備份與恢復的方法教程,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面...

    chenjsh364522020-05-13
  • MongoDBmongodb基本命令實例小結

    mongodb基本命令實例小結

    這篇文章主要介紹了mongodb基本命令,結合實例形式總結分析了MongoDB數據庫切換、查看、刪除、查詢等基本命令用法與操作注意事項,需要的朋友可以參考下...

    dawn-liu3652020-05-26
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久亚| 亚洲国产一区二区三区日本久久久 | 免费观看在线毛片 | 蜜桃视频一区二区三区 | 国产精一区 | 欧美视频综合 | 四虎影院网 | 在线视频se | 亚洲精品在线免费 | 欧美一区二区三区在线视频 | 成人精品一区二区三区视频播放 | 日韩在线观看中文字幕 | 国产精品久久久久久久久久东京 | 亚洲精品成人天堂一二三 | 亚洲伊人久久综合 | 国产日韩一区二区 | 色嫩紧中文字幕在线 | 99精品欧美一区二区三区 | 爱综合| 婷婷91| 国内精品久久久久久中文字幕 | 亚洲国产传媒99综合 | 成人aaa毛片 | 久久99这里只有精品 | 亚洲夜幕久久日韩精品一区 | 亚洲国产精品久久久久 | 亚洲精品视频网站在线观看 | 天堂免费在线 | 91视频8mav | a国产视频| 激情综合色综合久久综合 | 在线免费黄 | 韩国理论电影在线 | 中文字幕av一区二区三区 | 日韩中文字幕一区二区高清99 | 欧美一级淫片007 | 国产精品99久久久久久动医院 | 一区免费视频 | 91免费视频网站 | 亚洲精品视频专区 | 国产精品综合 |