成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2的方法

vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2的方法

熱門標簽:長沙電銷外呼防封卡是什么 外呼線路資源屬于電信業(yè)務嗎 小裙科技電銷機器人怎樣 智能外呼系統(tǒng)官網(wǎng) crm外呼系統(tǒng)聯(lián)系方式 青白江400企業(yè)電話申請 呼和浩特外呼系統(tǒng)原理是什么 內(nèi)蒙古營銷智能外呼系統(tǒng)哪個好 河南電話外呼系統(tǒng)招商

說起來,查看Mongodb官方的接口文檔是場噩夢,盡管mongodb官方花了大力氣整頓了它的API,但是簡單的接口羅列,0代碼示范,讓人無從開始。幸虧有很多天才,成功破譯,我才得以沿著他們走的路,照貓畫虎的走下去。整個項目結(jié)構(gòu)如下:

類文件中vbtest.vb數(shù)據(jù)庫實體類對應著mongodb文檔vbtest,用于數(shù)據(jù)操作測試

Imports MongoDB.Bson

Public Class vbtest
 Public _id As ObjectId
 Public content As String
End Class

(optional)vbmongo.vb是綁定好數(shù)據(jù)庫實體類vbtest的版本

Imports MongoDB.Bson
Imports MongoDB.Driver

Public Class vbmongo
 Public client
 Public collection As IMongoCollection(Of vbtest)
 Public database As IMongoDatabase
 Public mlist As List(Of vbtest)
 Public builder As FilterDefinitionBuilder(Of vbtest) = New FilterDefinitionBuilder(Of vbtest)
 Public filter As FilterDefinition(Of vbtest)
 Public Sub New(ByVal dbname As String, ByVal collectionname As String)
  client = New MongoClient("mongodb://127.0.0.1:27017")
  database = client.GetDatabase(dbname)
  collection = database.GetCollection(Of vbtest)(collectionname)
 End Sub

 Public Async Function loadrecords() As Task(Of List(Of vbtest))
  filter = builder.Ne(Of ObjectId)("_id", New ObjectId())//_id不等于空的記錄,通過這種方法蹩腳的實現(xiàn)了查找全部的功能Builder的大多數(shù)條件設置函數(shù)都用到了泛型Ne(Of TField)
  Dim mlist As List(Of vbtest) = Await collection.Find(filter).ToListAsync()//TField可以理解為 type of field 對應的是實體類中字段的數(shù)據(jù)類型例如 OBjectId或者String等等
  Return mlist
 End Function
 Public Async Function loadone(ByVal _id As String) As Task(Of vbtest)
  filter = builder.Eq(Of ObjectId)("_id", New ObjectId(_id))
  Dim mlist As vbtest = Await collection.Find(filter).FirstOrDefaultAsync()
  Return mlist
 End Function

 Public Async Function updateone(ByVal _id As String, ByVal doc As vbtest) As Task(Of vbtest)
  filter = builder.Eq(Of ObjectId)("_id", New ObjectId(_id))
  Dim up As UpdateDefinitionBuilder(Of vbtest) = New UpdateDefinitionBuilder(Of vbtest)()
  Dim updef As UpdateDefinition(Of vbtest)
  updef = up.Set(Of String)("content", doc.content)
  '.Set(Of String)("content", doc)
  collection.UpdateOneAsync(filter, updef)
 End Function

End Class

說起來mongodb的連接可以分幾步,根據(jù)連接字符串打開鏈接,獲取數(shù)據(jù)庫,獲取文檔,進而在文檔的基礎上進行增刪改查。對于vb.net操作mongodb,完全是根據(jù)c#的操作范例,根據(jù)vb.net的語法特點臨摹出來的。

首先需要對項目進行Nuget包的安裝,我們要搜尋的是MongoDB.Driver

這里創(chuàng)建了一個vb.net的泛型類vbmongoT,只寫了單個查找,查找列表和更新操作,函數(shù)中大量成對出現(xiàn)了Async和Await關鍵字,用于標識該功能使用了異步編程,在窗體程序中進行調(diào)用的時候,仍需要在成對的使用Async Await的關鍵字,因為異步函數(shù)返回的往往是TaskTResult>類型(c#)或者 Task(Of TResult) (vb.net)需要在調(diào)用函數(shù)體中使用await關鍵字拿到最終結(jié)果Imports MongoDB.BsonImports MongoDB.Driver

Public Class vbmongoT(Of T)
 Public client
 Public collection As IMongoCollection(Of T)
 Public database As IMongoDatabase
 Public mlist As List(Of T)
 Public builder As FilterDefinitionBuilder(Of T) = New FilterDefinitionBuilder(Of T)
 Public up As UpdateDefinitionBuilder(Of T)
 Public updef As UpdateDefinition(Of T)
 Public filter As FilterDefinition(Of T)
 Public Sub New(ByVal dbname As String, ByVal collectionname As String)
  client = New MongoClient("mongodb://127.0.0.1:27017")
  database = client.GetDatabase(dbname)
  collection = database.GetCollection(Of T)(collectionname)
 End Sub

 Public Async Function loadrecords() As Task(Of List(Of T))
  filter = builder.Ne(Of ObjectId)("_id", New ObjectId())
  Dim mlist As List(Of T) = Await collection.Find(filter).ToListAsync()
  Return mlist
 End Function
 Public Async Function loadone(ByVal _id As String) As Task(Of T)
  filter = builder.Eq(Of ObjectId)("_id", New ObjectId(_id))//_id滿足查找條件的記錄,Builder的大多數(shù)條件設置函數(shù)都用到了泛型:例如Ne(Of TField)
  Dim mlist As T = Await collection.Find(filter).FirstOrDefaultAsync() 
  Return mlist 
 End Function 
 Public Async Function updateone(ByVal filter As FilterDefinition(Of T), ByVal updef As UpdateDefinition(Of T)) As Task(Of T) 
  'updef = up.Set(Of String)("content", doc.content) '.Set(Of String)("content", doc) 
  Await collection.UpdateOneAsync(filter, updef) 
 End Function 
End Class

在mongodb這一版本的官方API里,IMongoCollection對象是查找,添加,更新,刪除等動作的發(fā)起者,這里面查找,更新,刪除都要用到查詢條件,

官方謂之filter(過濾器)C#: FilterDefinitionT> VB.net:FilterDefinition (Of T)

而過濾器是過濾器模具的建模結(jié)果

過濾器模具:C#: FilterDefinitionBuilderT> VB.net:FilterDefinitionBuilder (Of T)

在Mongodb.Driver這個大類下面 建議直接翻看FilterDefinitionBuilder的介紹 https://mongodb.github.io/mongo-csharp-driver/2.10/apidocs/html/T_MongoDB_Driver_FilterDefinitionBuilder_1.htm

同樣的數(shù)據(jù)庫文檔的更新操作由UpdateDefinitionBuilder 設置更新字段后產(chǎn)生的 UpdateDefinition完成

窗體程序部分

Imports MongoDB.Bson
Imports MongoDB.Driver

Public Class Form1
 Public client
 Public bsdoc As vbtest
 Public collection As IMongoCollection(Of vbtest)
 Public database As IMongoDatabase
 Public mlist As List(Of vbtest)
 Public builder As FilterDefinitionBuilder(Of vbtest) = New FilterDefinitionBuilder(Of vbtest)
 Public vm As vbmongoT(Of vbtest) = New vbmongoT(Of vbtest)("meandmycoach", "vbtest")
 Public filter As FilterDefinition(Of vbtest)
 Private Async Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  bsdoc.content = RichTextBox1.Text
  vm.filter = vm.builder.Eq(Of ObjectId)("_id", New ObjectId(ComboBox1.Text))
  vm.up = New UpdateDefinitionBuilder(Of vbtest)
  vm.updef = vm.up.Set(Of String)("content", bsdoc.content)
  'vm.up.Set(Of String)("content", bsdoc.content)
  vm.updef = vm.up.Combine(vm.updef)
  vm.updateone(vm.filter, vm.updef)

 End Sub

 Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  vm = New vbmongoT(Of vbtest)("meandmycoach", "vbtest")
  Dim bsdoc As vbtest = New vbtest()
 End Sub

 Private Async Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
  mlist = Await vm.loadrecords()
  For i As Integer = 0 To mlist.Count - 1
   ComboBox1.Items.Add(mlist(i)._id.ToString())
  Next
  ComboBox1.Text = ComboBox1.Items(0)
  Label2.Text = mlist.Count.ToString()
 End Sub

 Private Sub RichTextBox1_TextChanged(sender As Object, e As EventArgs) Handles RichTextBox1.TextChanged

 End Sub

 Private Async Sub ComboBox1_TextChanged(sender As Object, e As EventArgs) Handles ComboBox1.TextChanged
  bsdoc = Await vm.loadone(ComboBox1.Text)
  RichTextBox1.Text = bsdoc.content
 End Sub

 Private Async Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

 End Sub
End Class

功能描述:通過點擊圖片,加載所有的vbtest文檔記錄,combobox1專門用于顯示ObjectId,可以通過ToString()方法轉(zhuǎn)換為普通字符串

隨著下拉框ObjectId的改變,richtext1控件加載vbtest實體類對應記錄的Content字段,可以更改字段內(nèi)容后點擊更新提交按鈕完成文檔的UpdateOneAsync操作

總結(jié)

到此這篇關于vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2的文章就介紹到這了,更多相關vs2019連接 mongodb4.2內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MongoDB 用戶管理
  • Linux安裝MongoDB啟動及常見問題解決
  • MongoDB如何查看版本信息詳解
  • Centos7 yum安裝mongodb實現(xiàn)步驟詳解
  • mongodb 4.0副本集搭建的全過程
  • .Net Core使用MongoDB的詳細教程
  • 開源 5 款超好用的數(shù)據(jù)庫 GUI 帶你玩轉(zhuǎn) MongoDB、Redis、SQL 數(shù)據(jù)庫(推薦)
  • MongoDb CPU利用率過高問題如何解決

標簽:楚雄 菏澤 安順 呼倫貝爾 白山 舟山 黃石 池州

巨人網(wǎng)絡通訊聲明:本文標題《vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2的方法》,本文關鍵詞  vs2019,下用,vb.net,編寫,窗體,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2的方法》相關的同類信息!
  • 本頁收集關于vs2019 下用 vb.net編寫窗體程序連接 mongodb4.2的方法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    久久精品国产精品亚洲毛片| 一本大道熟女人妻中文字幕在线| 日本在线中文电影| 黄色片视频在线| 精品国产aⅴ| segui88久久综合9999| 美女爽到高潮91| 狠狠色一日本高清视频| 免费大片黄在线| 99re6在线观看| 91久久夜色精品国产网站| 亚洲国产mv| 欧美日韩精品免费观看视一区二区| 亚洲丝袜自拍清纯另类| 糖心vlog免费在线观看| 国产精彩视频在线观看| 从欧美一区二区三区| 在线观看精品国产视频| 久久久久久免费视频| 国产精品麻豆免费版现看视频| 中文字幕av无码一区二区三区| 日产国产高清一区二区三区| 久久露脸国产精品| 国产网站免费在线观看| 婷婷开心激情网| 国产精品揄拍一区二区| 在线观看国产一区二区三区| 极品日韩久久| 逼特逼视频在线观看| 秋霞影院午夜丰满少妇在线视频| 日本xxxx人| 777丰满影院| 国产www在线| 精品日本12videosex| 永久91嫩草亚洲精品人人| 久久9热精品视频| 久久综合99re88久久爱| 亚洲天堂avav| 久久久久久久片| 国产精品水嫩水嫩| 日韩西西人体444www| xxx电影网| 亚洲欧洲闷骚av少妇影院| 69av一区二区三区| 亚洲网站免费| 特级西西人体www高清大胆| 亚洲欧美综合图片| 高清不卡一区| 久久99国产精品99久久| 亚洲高清视频中文字幕| 中文字幕字幕中文在线中不卡视频| 风间由美中文字幕在线看视频国产欧美| jizz国产视频| 亚洲黄色小说网址| 欧美最猛黑人xxxxx猛交| 日本一区精品视频| 免费黄视频在线观看| av直播在线观看| 国产精品99蜜臀久久不卡二区| 国产成人久久精品麻豆二区| 久久资源亚洲| a√资源在线| 国产一级精品aaaaa看| 欧美日韩蜜桃| 欧美日韩裸体免费视频| 国产经典av| 日本v片在线高清不卡在线观看| 国产精品综合在线视频| 可以在线看的av网站| 涩涩网站在线观看| 欧美高清一级大片| 精品人妻少妇嫩草av无码专区| 久久国产精品电影| 欧洲s码亚洲m码精品一区| 在线看片你懂得| 日韩女同互慰一区二区| 神马影院我不卡| 大肉大捧一进一出好爽动态图| 日本一区二区在线观看视频| 高清国语自产拍免费一区二区三区| 精品国产网站地址| av成人影院在线| 干出白浆视频| 久久精品国产亚洲7777| 欧美电影在线观看免费| 日韩免费在线观看av| 免费免费啪视频在线观播放| 欧美日韩五区| 青青一区二区三区| 国产免费观看久久黄| 亚洲精品日韩综合观看成人91| 国产又粗又猛又爽又黄视频| 91美女片黄在线| 一个色在线综合| 一二三四社区欧美黄| heisi视频网在线观看| 人人插人人干| 色一情一区二区三区四区| 成人一区二区av| 亚洲日本aⅴ片在线观看香蕉| 性欧美videos另类hd| 国产日韩av一区| 色综合中文字幕国产| 91精品成人| 在线观看av中文字幕| 国产成人久久777777| 国产91精品精华液一区二区三区| 国产污污视频在线观看| 国产九色porn网址| 曰皮视频在线播放免费的| 欧美午夜性春猛xxxx| 五月婷婷一区二区三区| 国产午夜精品久久久久久久久| 国产一区二区三区成人欧美日韩在线观看| 最近国产精品视频| caoporn成人免费视频在线| 成人亚洲一区二区一| 欧美在线视频观看| 精品国产精品一区二区夜夜嗨| 免费毛片在线不卡| 久久99精品久久久久久久久久| 亚洲精品久久久北条麻妃| 国产精品影片在线观看| 天天爽人人爽夜夜爽| 国产精品自拍99| 欧美一区二区三区日韩视频| 亚洲天堂久久新| 欧美人狂配大交3d怪物一区| 亚洲第一se情网站| 国产黄色av片| 蜜桃传媒在线观看免费进入| 日韩在线观看网站| 日本不卡一区二区在线观看| 欧美自拍偷拍一区二区| 青青免费在线视频| 国产精品久久久久久影视| av在线网址观看| 黄色av观看| 免费在线黄色av| 国产精品国产精品国产| 亚洲护士老师的毛茸茸最新章节| 国产免费一区二区三区在线观看| 国产精品一区二区久久精品爱涩| 欧美肥胖老妇做爰| 少妇久久久久久| 7777精品伊人久久久大香线蕉最新版| 在线观看麻豆视频| 糖心vlog精品一区二区| 久久国产主播精品| 伊人成综合网yiren22| 色乱码一区二区三区在线| 国产精品露脸视频| 国产一区成人| 欧美成人一区二区在线观看| 91丨九色丨蝌蚪丨少妇在线观看| 欧美高清视频一区| 国产视频1区| 黑人巨大精品欧美| 爱情岛亚洲播放路线| 一本到不卡精品视频在线观看| 色视频在线观看免费| 91美女视频在线| 欧美xxxx性| 久久夜色撩人精品| 欧美激情国产高清| 国产剧情一区二区| 精品人妻伦一区二区三区久久| 国产成人免费在线观看视频| 国产98色在线| 久久国产精品色| 小早川怜子一区二区的演员表| 蜜桃色一区二区三区| 国产一区免费电影| 精品国产免费观看一区| 女人十八毛片嫩草av| 国产一区二区在线观看免费| 91精品国产综合久久久久久久久| 国产精品美女999| 五月天激情丁香| 日韩精品人妻中文字幕有码| 99亚洲国产精品| 国产一区日韩二区欧美三区| 福利片在线免费观看| 天堂av资源在线观看| 欧美大成色www永久网站婷| www.男人天堂.com| 黄色毛片免费| 66m—66摸成人免费视频| 亚洲网站视频| 成人黄色网址| 一区一区三区| 亚洲国产成人精品视频| 国产精品理伦片| 亚洲36d大奶网| 精品少妇爆乳无码av无码专区| 国产黄色在线免费观看| 91小视频在线| 激情综合丝袜美女一区二区| 91成人国产精品| www.操.com| 久久无码人妻精品一区二区三区| 99国产精品久久久久久久久久| 蜜桃色永久入口| 国产一区二区三区在线观看精品| 成人在线播放免费观看| 日韩欧美第二区在线观看| 国产成人亚洲精品乱码在线观看| av影片在线一区| 少妇高潮一区二区三区69| 可以看的av网址| 日本aⅴ精品一区二区三区| 久久天堂av综合合色蜜桃网| 中文天堂在线一区| av高清久久久| 欧美贵妇videos办公室| 久草在线视频精品| 欧美精品福利在线| 免费黄色国产视频| 天堂中文а√在线| 日本xxxxx18| 精品一区二区在线观看视频| 日韩一级大片| 乱人伦精品视频在线观看| 人人在线97| 久久99精品国产一区二区三区| 国产高清视频在线| 欧美日韩一区二区电影| 麻豆精品久久| 亚洲精品在线视频观看| 1024手机在线视频| 亚洲精选久久| 久久精品福利视频| 国产女精品视频网站免费| 国内综合精品午夜久久资源| 欧美自拍偷拍第一页| 合欧美一区二区三区| 视频1区2区3区| 亚洲一区二区福利| 日韩欧美伦理| 欧美一区欧美二区| 国产露出视频在线观看| 奇米777四色影视在线看| 精品久久ai电影| 日韩在线观看视频一区| 亚洲日本伦理| 久久亚洲无码视频| 美女视频亚洲色图| 韩日视频在线观看| 中文字幕日韩精品久久| 亚洲午夜免费视频| 99国产精品久久一区二区三区| 亚洲无吗在线| 永久看看免费大片| 男人通一通女人的下水道| 国产精品www色诱视频| 亚洲手机在线观看| 在线视频福利| 免费看成人片| 日韩精品高清视频| 亚洲一区二区久久久久久久| 青青草视频导航| 午夜视频在线瓜伦| 成人欧美一区二区三区在线播放| 精产国品自在线www| 久久久久xxxx| 久久久视频精品| 国产高清久久久| 在线观看黄网站| 9人人澡人人爽人人精品| 大胆人体色综合| 91极品视觉盛宴| 国精产品一区| fc2ppv国产精品久久| 粉嫩高清一区二区三区精品视频| 久热中文字幕在线精品首页| 久久久天堂国产精品| 欧美男女视频| 国产精品激情偷乱一区二区∴| 91麻豆精品国产91久久久更新时间| 欧美丰满老妇厨房牲生活| 成人免费在线观看视频| 91麻豆精品国产91久久久久推荐资源| 2014国产精品| 免费看污久久久| 国产一区二区三区朝在线观看| 91成人理论电影| 香蕉视频亚洲一级| 日本道色综合久久影院| 久久99日本精品| www.男人天堂网| 91久久奴性调教| 欧美精品 - 色网| www.久久艹| 欧美国产日产图区| 欧美日本高清视频在线观看| 国产精品传媒毛片三区| 无码久久精品国产亚洲av影片| 国产高清在线观看视频| 成人aa视频在线观看| 免费黄色在线网址| 精品深夜福利视频| 欧美三区免费完整视频在线观看| 黄色一级片在线免费观看| 午夜激情av在线| www.久久艹| 精品久久美女| 日本调教视频在线观看| 全部免费毛片在线播放一个| 精品美女在线观看视频在线观看| 亚洲人av在线| 精品在线观看一区| 欧美在线视频导航| 日本性生活一级片| 91精品成人久久| 国产欧美黑人| 国产精品对白交换视频| 91tv国产成人福利| 欧美日韩福利在线| 欧美xxxxbbbb| 青草影院在线观看| 久久久久久久国产精品毛片| 国产免费一区二区视频| 1024成人网色www| 伊人手机在线| 美女搡bbb又爽又猛又黄www| 欧美性大战久久| 欧美精品一区二区三区中文字幕| 天天躁日日躁狠狠躁免费麻豆|