mongodb c#版 官方驱动 简单教程


这个简易教程提供了足够的信息,当你开始时,你可以参考其他文件的更多信息。

下载 c# 驱动:
http://github.com/mongodb/mongo-csharp-driver/downloads

添加 引用
using MongoDB.Bson;
using MongoDB.Driver;

还有这些
using MongoDB.Driver.Builders;
using MongoDB.Driver.GridFS;
using MongoDB.Driver.Linq;

在特殊情况下引用这些命名空间

连接一个对服务器对象

var connectionString = "mongodb://localhost/?safe=true";
var server = MongoServer.Create(connectionString);


你几乎总是要加上“safe=true”到您的连接字符串。


连接一个对数据库对象

var database = server.GetDatabase("test"); // "test" is the name of the database

如果还有其他的数据库,可以同样用GetDatabase

你可以使用bsondocument对象模型或是自己定义的对象

有这2种方法可以用于 collections

1.利用BsonDocument
2.利用自己定义的类


连接一个对表对象
var collection = database.GetCollection<Entity>("entities"); // "entities" is the name of the collection


插入数据
var entity = new Entity { Name = "Tom" };
collection.Insert(entity);
var id = entity.Id; // Insert will set the Id if necessary (as it was in this example)


查找

var query = Query.EQ("_id", id);
var entity = collection.FindOne(query);

Query.EQ 是通过查询器帮助你查询。
"_id " 是一个字段名

其他的查询包括 GT, GTE, In, LT, LTE, Near, NE, And, Or 等。


不需要调用连接或断开

c# 驱动 已经有了一个连接池用于处理连接,更加有效,而且调用 Connect 是没什么影响的,
但调用 Disconnect ,就会关闭掉连接池内的所有连接


例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;


namespace ConsoleApplication1
{
    public class Entity
    {
        public ObjectId Id { get; set; }
        public string Name { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            var connectionString = "mongodb://localhost/?safe=true";
            var server = MongoServer.Create(connectionString);
            var database = server.GetDatabase("test");
            var collection = database.GetCollection<Entity>("entities");

            var entity = new Entity { Name = "Tom" };
            collection.Insert(entity);
            var id = entity.Id;

            var query = Query.EQ("_id", id);
            entity = collection.FindOne(query);

            entity.Name = "Dick";
            collection.Save(entity);

            var update = Update.Set("Name", "Harry");
            collection.Update(query, update);

            collection.Remove(query);
        }
    }
}












评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值