`
hyw520110
  • 浏览: 218601 次
  • 性别: 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软件

    2. **数据操作**:通过GoDB,用户可以轻松执行CRUD(创建、读取、更新、删除)操作。它提供了友好的图形化用户界面,使得数据检索、过滤、排序和更新变得简单快捷。 3. **查询构建器**:GoDB内置了一个强大的SQL...

    开源项目-samonzeweb-godb.zip

    3. CRUD操作:Godb支持基本的创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作。例如,可以通过简单的函数调用来插入新记录、查找特定记录、更新现有记录或删除不再需要的数据。 4. 关联关系:在...

    数据驱动游戏开发ppt介绍

    数据驱动游戏开发是一种以数据为核心,强调游戏设计和游戏内容的灵活性和可扩展性的游戏开发模式。在这种模式下,游戏设计师和内容创作者不需要工程师编写或修改C/C++代码,就能创建、调整和扩展游戏中的对象、系统...

    godb

    GoDB 是一个专门为简化数据库操作而设计的轻量级库,尤其适用于那些希望在不引入过多复杂性的情况下快速实现数据库查询的项目。该库的目标是提供一种高效且易于使用的接口,使得开发人员能够轻松地从数据库中检索...

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

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

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

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

    A Data-Driven Game Object System

    - **数据驱动**:指的是不需要工程师直接参与的游戏逻辑实现方式。目标是将C/C++等编程语言从游戏开发的前端逻辑中去除,从而让设计师能够更加灵活地进行内容创作。 - 特性: - 减少工程师的工作负担,因为设计...

    汇编简单程序--十进制数字求和并以十进制显示

    通过以上分析,我们可以看到,这个简单的汇编程序覆盖了汇编语言的基本结构,包括数据定义、函数设计、输入输出操作以及基本的算术运算。对于初学者来说,这是一个很好的学习示例,可以深入了解汇编语言的工作原理,...

    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是简单的...

    R包GO.db_3.0.0.zip

    `GO.db`包是R中的一个重要工具,它为GO数据提供了方便的数据库接口,使得研究人员能够进行GO注释、富集分析以及功能解读。 `GO.db`包包含三个主要的GO术语集合:生物学过程(Biological Process)、细胞成分...

    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