你的位置:首页 > ASP.net教程

[ASP.net教程]C# mongodb [上]

概述

  MongoDB是一个高性能,开源,无模式的文档型数据库,使用C++开发。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json 的bjson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它是一个面向集合的,模式自由的文档型数据库。

  适用场景

  • 网站:MongoDB 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
  • 缓存:由于性能很高,MongoDB 也适合作为信息基础设施的缓存层。在系统重启之后,由MongoDB 搭建的持久化缓存层可以避免下层的数据源过载。
  • 大尺寸、低价值的数据:使用传统的关系数据库存储一些数据时可能会比较贵,在此之前,很多程序员往往会选择传统的文件进行存储。
  • 高伸缩性的场景:MongoDB 非常适合由数十或者数百台服务器组成的数据库。
  • 用于对象及JSON数据的存储:MongoDB 的BSON数据格式非常适合文档格式化的存储及查询。

Windows 安装 MongoDB

1.在官网上下载MongoDB:【http://www.mongodb.org/downloads 】选择对应的操作系统。下载来源:zip。

在下载MongoDB for Windows版本时官网会提示:如果您正在运行的版本是Windows Server 2008 R2或Windows 7,请安装修复补丁解决在Windows上使用内存映射文件问题。【补丁】

安装包中包括:

Server-mongod.exe

Client -mongo.exe

监控工具- mongostat.exe,mongotop.exe

导入导出工具-mongodump.exe ,mongorestore.exe,mongoexport.exe,mongoimport.exe 等其他工具。

命令启动MongoDB:

在安装MongoDB时需要创建一个目录来存放数据文件。(目录中不要带中文或空格)。cmd,找到下载目录,输入已下命令:mongod --dbpath C:\Test\Data 【安装方法和memcached,Redis差不多】

如果目录中有空格,把整个目录用双引号包括: mongod --dbpath "C:\Program Files\mongodb\data"  。

配置文件启动Mongodb:

我们把Mongodb所需要的配置信息创建一个文件(MongoDB.config)都在这个文件里面。然后启动mongodb读取配置文件信息:config C:\Test\mongodb.config

mongodb.config配置信息:

dbpath=C:\Test\Data
logpath=C:\Test\Log\log.txt

执行读取配置信息如有报错用管理员身份打开cmd命令行。config设置路径中不要包括中文。

测试服务是否启动正常。在浏览器中输入:http://localhost:27017/

证明启动成功。

MongoDB做为Window服务:

把MongoDB做为Window服务操作如图:

进入MongoDB客户端(Shell)。cmd找到安装目录输入:mongo

 connection to:test 进入MongoDB客户端自动给我们连接到Test数据库。

MongoDB客户端基本操作

MongoDB创建数据库:

数据库创建语法:

use DATABASE_NAME

新创建的数据库列表为空。要显示数据库,需要把它插入至少一个文件。

insert()基本语法:

db.COLLECTION_NAME.insert(document)

将文档数据存储到"ck_test_db" 数据库中的 "student" 集合中

MongoDB是文档的数据结构和JSON基本一样。所有存储在集合中的数据都是BSON格式,BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

find()基本语法:

db.COLLECTION_NAME.find()

find() 方法将在非结构化的方式显示所有的文件。

pretty() 方法:

db.COLLECTION_NAME.find().pretty()

查询条件:

--MongoDB中AND db.COLLECTION_NAME.find({key1:value1, key2:value2}).pretty()--MongoDB中ORdb.COLLECTION_NAME.find(  {   $or: [     {key1: value1}, {key2:value2}   ]  }).pretty()

要查询文件的一些条件的基础上,可以使用下面的操作

操作语法例子RDBMS 等同
Equality{<key>:<value>}db.mycol.find({"by":"tutorials point"}).pretty()where by = 'tutorials point'
Less Than{<key>:{$lt:<value>}}db.mycol.find({"likes":{$lt:50}}).pretty()where likes < 50
Less Than Equals{<key>:{$lte:<value>}}db.mycol.find({"likes":{$lte:50}}).pretty()where likes <= 50
Greater Than{<key>:{$gt:<value>}}db.mycol.find({"likes":{$gt:50}}).pretty()where likes > 50
Greater Than Equals{<key>:{$gte:<value>}}db.mycol.find({"likes":{$gte:50}}).pretty()where likes >= 50
Not Equals{<key>:{$ne:<value>}}db.mycol.find({"likes":{$ne:50}}).pretty()where likes != 50

 

update()基本语法:

db.COLLECTION_NAME.update( criteria, objNew, upsert, multi )

update()函数接受以下四个参数:
criteria : update的查询条件,类似sql update查询内where后面的。
objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

删除数据:

--删除指定数据db.COLLECTION_NAME.remove( DELLETION_CRITTERIA)--删除所有数据db.COLLECTION_NAME.remove()--删除集合和集合中所有数据db.COLLECTION_NAME.drop()

drop就不在演示。

MongoDB的一些基本操作本章就分享到这里,下一章节会分享在C#中使用mongodb的一些基本操作。有意可以继续关注噢。

感觉分享的内容对你有一丝丝帮助请点个赞噢...呵呵..


贵州旅游团报价什么时候去贵州旅游最好去贵州旅游最佳路线贵州旅游景点推荐贵州跟团旅游报价多少水立方图片 武汉欢乐谷地址_武汉欢乐谷在哪里_武汉欢乐谷在哪 嵩山少林寺在哪_嵩山少林寺在哪个省 深圳欢乐谷门票价格_深圳欢乐谷门票优惠 中国旅游产业园揭牌_园址位于天津 鬼马牛肉 长角苗女人 人数翻10倍四川赴台游发烫 潍坊水上皇宫宾馆地址?潍坊富华水上皇宫住宿在哪里? 潍坊富华水上皇宫和水上乐园是一个吗?富华水上皇宫和水上乐园项目介绍? 2015杭州大学生旅游节到什么时候?杭州大学生旅游节结束时间? 潍坊富华水上游乐园好玩吗?富华水上游乐园开放了吗? 深圳欢乐谷2015元旦有什么活动?欢乐谷元旦有哪些优惠? 深圳东部华侨城大峡谷和茶溪谷学生门票多少?2015圣诞节大峡谷和茶溪谷好玩活动? 深圳圣诞元旦去哪玩好玩?深圳动漫灯会活动时间? 2015深圳去哪看彩灯?深圳动漫灯会有哪些好玩的? 2SK3437(Q) Datasheet 2SK3437(Q) Datasheet 2SK4111(Q,T) Datasheet 2SK4111(Q,T) Datasheet 2SK4114(Q,T) Datasheet 2SK4114(Q,T) Datasheet 浙江出发去阿塞拜疆旅游 浙江出发去阿塞拜疆旅游 浙江出发去阿塞拜疆旅游 浙江出发去埃及旅游 浙江出发去埃及旅游 浙江出发去埃及旅游 浙江出发去埃塞俄比亚旅游 浙江出发去埃塞俄比亚旅游 浙江出发去埃塞俄比亚旅游