手机版
你好,游客 登录 注册
背景:
阅读新闻

在Linux系统下用C#开发MongoDB的步骤

[日期:2012-04-13] 来源:Linux社区  作者:guoyuanwei [字体: ]

首先按  http://www.linuxidc.com/Linux/2012-04/58539.htm 介绍的方法安装好monodevelop和mono开发环境

按照mongoDB官方的例子安装好mongoDB在linux上:http://www.mongodb.org/display/DOCS/Quickstart+Unix注意根据CPU是32位还是64位下载不同的版本

打开一个终端启动mongoDB的数据库服务 root@Ubuntu:/usr/local/mongoDB/bin# ./mongod

在接下来的过程中,创建一个数据库gywdb来做测试。奇怪的事情是mongoDB没有直接创建数据库的命令,找了半天没找到,后来只有通过间接的方式来创建。如下命令所示。

打开一个新的终端:默认连接到的数据库是test

root@ubuntu:/usr/local/mongoDB/bin# ./mongo
MongoDB shell version: 2.0.4
connecting to: test

创建自己的数据库gywdb

 use gywdb
switched to db gywdb
> db.createCollection("student",{});
{ "ok" : 1 }
这样数据库gywdb创建成功了,而且创建了一个student的表。

下面是通过C#来操作mongoDB的一些代码

运行命令 show dbs 检查下数据库是否创建成功。
gywdb    0.203125GB
local    (empty)
test    0.203125GB
可以看到gywdb创建好了。

下面是通过C#驱动代码来实现mongoDB的各种操作。

1、查询服务器中所有存在的数据库

using System;
using System.Collections;
using System.Collections.Generic;
using MongoDB.Bson;
using MongoDB.Driver;

namespace mongoDBClient
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            //mongoDb服务实例连接字符串
            string con="mongodb://localhost:27017";
            //得到一个于mongoDB服务器连接的实例
            MongoServer 
server=MongoServer.Create(con);                
            IEnumerable<string> names=server.GetDatabaseNames();
            foreach(string name in names)
                Console.WriteLine(name);
            Console.ReadLine();
        }
    }
}

运行结果:

2、插入文档数据到数据表student中去

using System;
using System.Collections;
using System.Collections.Generic;
using MongoDB.Bson;
using MongoDB.Driver;

namespace mongoDBClient
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            //mongoDb服务实例连接字符串
            string con="mongodb://localhost:27017";
            //得到一个于mongoDB服务器连接的实例
            MongoServer server=MongoServer.Create(con);            
            //获得一个与具体数据库连接对象,数据库名为gywdb
            MongoDatabase mydb=server.GetDatabase("gywdb");    
            //获得数据库中的表对象,即student表
            MongoCollection mydbTable=mydb.GetCollection("student");
            //准备一条数据,即申明一个文档对象
            BsonDocument doc=new BsonDocument
            {
                {"name","令狐少侠"},
                {"classname","华山派"},
                {"age",100}
            }; 
            //将文档插入,持久化到硬盘上
            mydbTable.Insert(doc);            
                 Console.ReadLine();
        }
    }
}

通过命令查看结果: > db.student.find();
{ "_id" : ObjectId("4f852ce41d41c80d9b090110"), "name" : "令狐少侠", "classname" : "华山派", "age" : 100 }

可以看到表中有刚才通过代码加入的一条数据了,其中字段“_id”为系统自动生成的,相当于一个主键。

linux
相关资讯       C#  MongoDB 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款