MongoDB操作集
官网
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);
MongoDB操作集的更多相关文章
- MongoDB副本集的常用操作及原理
本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点. 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理. 下面的操 ...
- 创建mongodb副本集操作实例
一:概念 相关概念及图片引用自这里 mongodb副本集: 副本集是一组服务器,其中一个是主服务器,用于处理客户请求:还有多个备份服务器,用于保存主服务器的数据副本.如果主服务器崩溃了,备份服务器自动 ...
- nodejs+mongoose操作mongodb副本集实例
继上一篇设置mongodb副本集之后,开始使用nodejs访问mongodb副本集: 1:创建项目 express 项目名称 2:npm install mongoose 安装mongo ...
- MongoDB副本集(一主一备+仲裁)环境部署-运维操作记录
MongoDB复制集是一个带有故障转移的主从集群.是从现有的主从模式演变而来,增加了自动故障转移和节点成员自动恢复.MongoDB复制集模式中没有固定的主结点,在启动后,多个服务节点间将自动选举产生一 ...
- MongoDB 副本集的常用操作及原理
本文是对MongoDB副本集常用操作的一个汇总,同时也穿插着介绍了操作背后的原理及注意点. 结合之前的文章:MongoDB副本集的搭建,大家可以在较短的时间内熟悉MongoDB的搭建和管理. 下面的操 ...
- MongoDB 副本集的用户和权限一般操作步骤
步骤总结: 在主节点上添加超管用户,副本集会自动同步 按照仲裁者.副本节点.主节点的先后顺序关闭所有节点服务 创建副本集认证的key文件,复制到每个服务所在目录 修改每个服务的配置文件,增加参数 启动 ...
- elasticsearch与mongodb分布式集群环境下数据同步
1.ElasticSearch是什么 ElasticSearch 是一个基于Lucene构建的开源.分布式,RESTful搜索引擎.它的服务是为具有数据库和Web前端的应用程序提供附加的组件(即可搜索 ...
- MongoDB副本集学习(三):性能和优化相关
Read Preferences/读写分离 有时候为了考虑应用程序的性能或响应性,为了提高读取操作的吞吐率,一个常见的措施就是进行读写分离,MongoDB副本集对读写分离的支持是通过Read Pref ...
- MongoDB 副本集的原理、搭建、应用
概念: 在了解了这篇文章之后,可以进行该篇文章的说明和测试.MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组 ...
随机推荐
- Java_修饰符
目录 访问控制修饰符 非访问修饰符 在java中修饰符主要分为两类:++访问修饰符++和++非访问修饰符++ 访问控制修饰符 修饰符 当前类 同一包内 子孙类 其他包 其他包子孙类 public Y ...
- SpringBoot 请求参数后端校验
1.例如: package com.model.user; import com.model.PageEntity;import lombok.Getter;import lombok.Setter; ...
- IntelliJ IDEA 中 Web项目 目录结构
--src 应用程序源代码和测试程序代码的根目录 --main --java 应用程序源代码目录 --resources 应用程序用到的资源文件(一般都是配置文件) --webapp web项 ...
- 10_27_requests模块
1.get请求: 看源码 import requests url= "https://www.baidu.com" res = requests.get(url) print(re ...
- Java eclipse导入外部项目时出错怎么解决
从外部环境import一个项目进入Java工作环境中,若出现以下错误,解决方法如下: 鼠标移上去,会出现以下错误提示: 解决方法: 选中该项目->右键->Build path->Co ...
- CodeForces 630G Challenge Pennants (组合数学)
<题目链接> 题目大意: 有两种旗子,分别有5个和3个,将这些旗子分配给n个人,有多少中方法. 解题分析: 5面A旗子的发放方案为:$[1,1,1,1,1],[1,1,1,2],[1,2, ...
- C#订阅与发布标准实现
大概看了下C#官方提供的IObservable接口以及IObserver接口来实现发布和订阅,写的很标准,很有代表性,做下笔记,以后要是项目需要用到发布订阅再基于自己的需求改: public clas ...
- [PKUSC2018]星际穿越
[PKUSC2018]星际穿越 题目大意: 有一排编号为\(1\sim n\)的\(n(n\le3\times10^5)\)个点,第\(i(i\ge 2)\)个点与\([l_i,i-1]\)之间所有点 ...
- HDU.5385.The path(构造)
题目链接 最短路构造题三连:这道题,HDU4903,SRM590 Fox And City. \(Description\) 给定一张\(n\)个点\(m\)条边的有向图,每条边的边权在\([1,n] ...
- H5页面测试实战总结
如何判断是否是H5页面: 基本上只要对那个view长按,然后看是不是有反应,比如手机震动(Android).或者出现文字选择粘贴(Android/iOS),那么就是WebView! 横屏竖屏相互切换, ...