`
hyw520110
  • 浏览: 212197 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

goDB学习笔记(二) 通过samus驱动实现基本数据操作

 
阅读更多

传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,MongoDB是由(database)、集合(collection)、文档对象(document)三个层次组成。MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。

一、关于MongoDB的驱动

  MongoDB支持多种语言的驱动,在此我们只介绍C#的驱动。仅C#驱动都有很多种,每种驱动的形式大致相同,但是细节各有千秋,因此代码不能通用。比较常用的是官方驱动和samus驱动。samus驱动除了支持一般形式的操作之外,还支持linq方式操纵数据。各人比较喜欢这种方式。

  官方驱动下载地址:点击下载
  samus驱动下载地址:点击下载

  本篇将从samus驱动入手讲解数据库访问,国际惯例,存取“Hello World!”。

二、通过samus驱动实现HelloWorld存取

  在进行下述操作之前,请先确定MongoDB服务已经开启,不知道怎么开启服务,请看上篇。下载驱动,新建控制台项目,并添加对MongoDB.dll的引用,如果你下载的是驱动源码,编译一遍引用生成的DLL即可。

  基本代码如下:

01 //链接字符串
02 string connectionString = "mongodb://localhost";
03   
04 //数据库名
05 string databaseName = "myDatabase";
06   
07 //集合名
08 string collectionName = "myCollection";
09   
10 //定义Mongo服务
11 Mongo mongo = new Mongo(connectionString);
12   
13 //获取databaseName对应的数据库,不存在则自动创建
14 MongoDatabase mongoDatabase = mongo.GetDatabase(databaseName) as MongoDatabase;
15   
16 //获取collectionName对应的集合,不存在则自动创建
17 MongoCollection<Document> mongoCollection = mongoDatabase.GetCollection<Document>(collectionName) as MongoCollection<Document>;
18   
19 //链接数据库
20 mongo.Connect();
21 try
22 {
23     //定义一个文档对象,存入两个键值对
24     Document doc = new Document();
25     doc["ID"] = 1;
26     doc["Msg"] = "Hello World!";
27   
28     //将这个文档对象插入集合
29     mongoCollection.Insert(doc);
30   
31     //在集合中查找键值对为ID=1的文档对象
32     Document docFind = mongoCollection.FindOne(new Document { { "ID", 1 } });
33   
34     //输出查找到的文档对象中键“Msg”对应的值,并输出
35     Console.WriteLine(Convert.ToString(docFind["Msg"]));
36 }
37 finally
38 {
39     //关闭链接
40     mongo.Disconnect();
41 }

  运行程序,成功打印helloword。同时,我们打开数据文件夹,发现多了两个文件“myDatabase.ns”和“myDatabase.0”。

三、小结

  代码下载:http://files.cnblogs.com/lipan/MongoDB_001.rar

  本篇简洁的讲解了基本存取操作,下篇将结合MVC框架通过MongoDB实现model层单个集合的基本增删查改操作。

分享到:
评论

相关推荐

    GoDB3.4软件

    网上很难找的GoDB软件,IPNC中的网页是由此软件设计。

    godb

    GoDB 在没有很多麻烦的情况下进行简单数据库访问的实验。 有时,您只想获取一些行并将其转储到结构中。

    GoDB.js:IndexedDB with Intuitive API,轻松搞定浏览器数据库:party_popper:

    设计的功能尚未完全实现 这些API将来可能会发生重大变化 如果您认为有帮助,请给该项目加星标,谢谢〜 安装 npm install godb 用法 用一行代码执行CRUD操作: import GoDB from 'godb' ; const testDB = new GoDB ...

    开源项目-samonzeweb-godb.zip

    开源项目-samonzeweb-godb.zip,简单的行动

    论文研究-基于GoDB开发平台的远程监控系统客户端设计 .pdf

    基于GoDB开发平台的远程监控系统客户端设计,胡省涛,马跃,随着社会和经济的不断发展与进步,人们对于安全问题也越来越重视。其中,视频监控技术发挥着重要的作用,作为视频监控系统的核心

    godb:Go SQL查询构建器和结构映射器

    最初,godb是一个学习项目。 目的是通过做一些有用的事情来提高我的围棋技巧。 但是,已经添加了越来越多的功能,并且Godb已经成为一个可以供其他人使用的严肃项目。 Godb是一个仍在发展中的年轻项目。 该API几乎...

    godb:测试任务

    如果您从VSCode运行 将文件夹添加到工作区 在settings.json中设置: "go.useLanguageServer": false, "gopls": { "experimentalWorkspaceModule": true }

    Go SQL查询构建器和结构映射器。-Golang开发

    godb-Go查询构建器和struct映射器godb是简单的Go查询构建器和struct映射器,而不是功能齐全的ORM。 Godb不能管理人际关系。 最初,godb是一个学习项目。 目标是改进我的Godb-Go查询构建器和struct映射器godb是简单的...

    mongodb design pattern

    mongodb的应用的设计模式 When building a new ...goDB BSON documents allow for more complex structure by supporting arrays of val‐ ues (where each array itself may be composed of multiple subdocuments).

    vim-gbasic:用于 gbasic 语言、语法、缩进的 vim 插件...

    最近较为深入的学习 C Language Vim Script Regluar Expression git 加上gbasic在vim中的种种不协调,所以我产生写这样的一个插件的想法,又刚好和《》一书最后实战的例子类似(里面是为语言写这样的一个插件,很明显...

    wpapi:Wordpress.org 下载 API

    tar -xvf godb-amd64.tar.gz; ./godeb 安装 1.3.3 滑入 测试 滑入 去测试 应用程序接口 主题的最新 URL http://wpapi.herokuapp.com/theme/editor/zip 主题缩略图的最新 URL ...

Global site tag (gtag.js) - Google Analytics