登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发技术 > 正文

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

2012-04-13 00:05    来源:博客  作者: guoyuanwei 编辑: 李健

  【IT168 技术】按照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();
        }
    }
}

 

  运行结果:

linux下C#开发mongoDB

  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”为系统自动生成的,相当于一个主键。

相关文章
  • 2012-04-13
  • 2012-04-13
  • 2012-04-13
  • 2012-04-13
  • 2012-04-13
网友评论
已有0条评论
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫码送文库金币

编辑推荐
系统架构师大会
系统架构师大会
点击或扫描关注
IT168企业级微信关注送礼
IT168企业级微信关注送礼
扫描关注
首页 评论 返回顶部