博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB操作集
阅读量:6496 次
发布时间:2019-06-24

本文共 1731 字,大约阅读时间需要 5 分钟。

 

官网

https://www.mongodb.com/download-center#community

基本资料:

http://www.runoob.com/mongodb/mongodb-intro.html

下载地址:

https://www.mongodb.com/download-center/community

 

windows安装:

安装过程the domain,user name and/or password are incorrect.remember to use "." for the domain if the account is on the local machine

处理办法:取消重新安装

 

使用:

与MongoDB通讯的API类库:

我们将使用由MongoDB官方提供的API类库来与MongoDB进行通讯与交互,在Lezhima.Data项目中可通过NuGet管理器引用如下两个类库:

1、MongoDB.Bson

2、MongoDB.Driver

当插入数据时,如果不存在该数据库则自动创建一个新的数据库,如果不存在该集合则会自动创建一个集合

// 使用连接字符串连接

            var client = new MongoClient("mongodb://localhost:27017");
            // 制定多个地址和端口,让程序自动选择一个进行连接。
            //var client = new MongoClient("mongodb://localhost:27017,localhost:27018,localhost:27019");
            //获取数据库
            var database = client.GetDatabase("foo");
            //获取数据集Collection
            var collection = database.GetCollection<BsonDocument>("bar");
            //插入数据
            var document = new BsonDocument {
                { "name", "MongoDB" },
                { "type", "Database" },
                { "count", 1 },
                { "info", new BsonDocument { { "x", 203 }, { "y", 102 } } }
            };
            //InsertOne(同步插入):
            collection.InsertOne(document);
            //InsertOneAsync(异步插入):
            await collection.InsertOneAsync(document);

//同步获取数量

 var count = collection.Count(new BsonDocument());

//异步获取集合数量

var count = await collection.CountAsync(new BsonDocument());

//读取信息

var documents = collection.Find(new BsonDocument()).ToList();

如果返回的数据预期很大,建议采用以下异步的迭代的方法处理。

await collection.Find(new BsonDocument()).ForEachAsync(d => Console.WriteLine(d)); 如果是在要用同步的方法,那么可以使用ToEnumerable适配器方法(数据量大的情况):

var cursor = collection.Find(new BsonDocument()).ToCursor();

 string aa = "";
foreach (var document in cursor.ToEnumerable()) {
                aa += document + ",";
}

用过滤器筛选获取单个数据

var filter = Builders<BsonDocument>.Filter.Eq("i", 71);

 

转载于:https://www.cnblogs.com/mrray/p/10750544.html

你可能感兴趣的文章
通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法
查看>>
sdut AOE网上的关键路径(spfa+前向星)
查看>>
C++编程思想重点笔记(上)
查看>>
【转发】什么时候该用委托,为什么要用委托,委托有什么好处
查看>>
[原]VS2012编译GLEW 1.11
查看>>
[AngularJS] Hijacking Existing HTML Attributes with Angular Directives
查看>>
关于android.view.WindowLeaked(窗体泄露)的解决方案
查看>>
微软职位内部推荐-Software Engineer II-News
查看>>
(转)I 帧和 IDR 帧的区别
查看>>
如何更快速加载你的JS页面
查看>>
解决oracle11g安装导致数据库无法自动搜集统计信息-转
查看>>
Unix_Linux系统定时器的应用(案例)
查看>>
[Java基础] Java如何实现条件编译
查看>>
【转】ubuntu 12.04 下 Vim 插件 YouCompleteMe 的安装
查看>>
设置网页标题图标
查看>>
mysql通过查看跟踪日志跟踪执行的sql语句
查看>>
Android_CodeWiki_01
查看>>
Web QQ 协议 登录加密算法 —— VC++实现
查看>>
Nutch 二次开发之parse正文内容
查看>>
代码储存
查看>>