Inhaltsverzeichnis
一,Mongodb简介
二,Ubuntu 下配置Mongodb
三,Mongodb客户端管理工具
四,Mongodb C#版驱动
五,Mongodb 与sql 语句对照
Heim Datenbank MySQL-Tutorial Mongodb从配置到应用

Mongodb从配置到应用

Jun 07, 2016 pm 04:33 PM
mongo mongodb 应用 简介 配置

一,Mongodb简介 Mongo(http://www.mongodb.org/)是一个高性能,开源(代震军大牛正在研究Mongodb的源码,大家可以去看看http://www.cnblogs.com/daizhj/),模式自由(schema-free)的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值(key-value

一,Mongodb简介

Mongo(http://www.mongodb.org/)是一个高性能,开源(代震军大牛正在研究Mongodb的源码,大家可以去看看http://www.cnblogs.com/daizhj/),模式自由(schema-free)的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值(key-value)存储方式。Mongo使用C++开发,

具有以下特性:

  1. 面向集合的存储:适合存储对象及JSON形式的数据。
  2. 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  3. 完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。
  4. 查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。
  5. 复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。
  6. 高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。
  7. 自动分片以支持云级别的伸缩性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。
  8. 模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。
  9. 支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语言的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。

使用场合:

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

所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定义任何模式(schema)。

二,Ubuntu 下配置Mongodb

Ubuntu知识扫盲:

chown -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)

nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。

Mongodb目前最新版本是1.8.1
首先启动终端 :
输入 wget?http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz
下载mongodb-linux-i686-1.8.1.tgz安装包
解压 tar -zxvf mongodb-linux-i686-1.8.1.tgz

默认情况下Mongodb会在/data/db/ 这个文件夹存放数据

在当前目录下输入如下命令,创建用户 :
//添加一个mongodb用户
adduser mongodbxiao
//设置密码
passwd mongodb
201104261606187429 Mongodb从配置到应用

继续输入

sudo mkdir -p /data/db/
//把”/data/db/”的属主改成mongodb用户
$ sudo chown mongodbxiao /data/db/
$ chown -R mongodb:mongodbxiao /data
当然 可以 通过–dbpath 命令 指定MongoDB将数据存储到另外的目录中去。

在运行下面的语句之前需要安装一下mongo shell 否则会收到提示:程序“mongo”尚未安装。
apt-get install mongodb-clients

运行数据库
$? ./mongodb-linux-i686-1.8.1/bin/mongod
$ ./mongodb-linux-i686-1.8.1/bin/mongo
> db.test.save({123123:’哈哈哈’})
> db.test.find();

创建数据库并添加一条记录,最后查询结果:
201104261606212115 Mongodb从配置到应用

到此证明我们在Ubuntu下配置Mongodb成功..

ps:使用Ubuntu过程中经常会遇到这个错误:

201104261606242657 Mongodb从配置到应用

只需要输入强制解锁,命令即可解决。

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

三,Mongodb客户端管理工具

Try MongoDB

不用安装就可以试用MongoDB,和tryredis一样,是一个基于web的shell模拟工具,可以让你在不用安装MongoDB的情况下试用MongoDB的各种功能.

Mongo3?– MongoDB 集群管理工具

MongoVUE

一个windows下的客户端管理工具,我推荐这个,非常不错.有点类似于mysql管理工具..

201104261606326258 Mongodb从配置到应用

四,Mongodb C#版驱动

第一款:mongodb-csharp 项目地址:http://github.com/samus/mongodb-csharp

简单介绍:该驱动是比较全的驱动,更新随度非常快,有人已经应用到项目中去,并且表现非常好。目前他们的团队正在致力于连接管理这部分功能的扩展例如:自动重连,连接池等等。

第二款:mongodb-net 项目地址:http://code.google.com/p/mongodb-net/

简单介绍:该开发还在进行中,有些功能还没有实现。

第三款:MongoDB.Emitter 项目地址:http://bitbucket.org/gwbasic/mongodb.emitter/

简单介绍:提供了强类型支持

第四款:CSMongo 项目地址:http://somewebguy.wordpress.com/2010/02/21/building-a-mongo-driver-part-1/

简单介绍:实现了部分功能,并且没有可下载的代码。但是你可以看他的博客以了解这种驱动的思想。

第五款:simple- mongodb 项目地址:http://code.google.com/p/simple-mongodb/

简单介绍:没有提供源代码,以JSon为核心。

最后一个是对第一款某些地方的增强,地址http://deserialized.com/convert-csharp-classes-to-and-from-mongodb-documents-automatically-using-net-reflection

第六款:NoRM 项目地址:http://github.com/atheken/NoRM

介绍:增强了第一种,支持强类型。

五,Mongodb 与sql 语句对照

此处用mysql中的sql语句做例子,C# 驱动用的是samus,也就是上文中介绍的第一种.

引入项目MongoDB.dll

//创建Mongo连接
Nach dem Login kopieren
  var mongo = new Mongo("mongodb://localhost");
Nach dem Login kopieren
  mongo.Connect();
Nach dem Login kopieren
  //获取一个数据库,如果没有会自动创建一个
Nach dem Login kopieren
  var db = mongo.GetDatabase("movieReviews");
Nach dem Login kopieren
  //创建一个列表,并为这个列表创建文档
Nach dem Login kopieren
  var movies = db.GetCollection("movies");
Nach dem Login kopieren

连接没问题之后,现在让我们用mysql 与mongodb的一些语句做下对比:

MongoDB Mysql
查询全部 movies.find(new Document()) SELECT * FROM movies
条件查询 movies.Find(new Document { { “title”, “Hello Esr” } }); SELECT * FROM movies WHERE title= ‘foobar’
查询数量 movies.Find(new Document { { “title”, “测试2″ } }).Documents.Count(); SELECT COUNT(*) FROM movies WHERE `title` = ‘foobar’
数量范围查询 1, movies.Find(new Document().Add(“$where”, new Code(“this.num > 50″)));

2, movies.Find(new Document().Add(“num”,? new Document().Add(“$gt”,50)));
($gt : > ; $gte : >= ; $lt :

3,movies.Find(“this.num > 50″);

4,movies.Find(new Document().Add(“$where”,new Code(“function(x){ return this.num > 50};”)));

select * from movies where num > 50
分页查询 movies.Find(new Document()).Skip(10).Limit(20); SELECT * FROM movies? limit 10,20
查询排序语句 movies.Find(new Document()).Sort(new Document() { { “num”, -1 } }); SELECT * FROM movies ORDER BY num DESC
查询指定字段 movies.Find(new Document().Add(“num”, new Document().Add(“$gt”, 50)), 10, 0, new Document() { { “title”, 1 } }); select title from movies where num > 50
插入语句 movies.Insert(new Document() { { “title”, “测试” }, { “resuleData”, DateTime.Now } }); INSERT INOT movies (`title`, `reauleDate`) values (‘foobar’,25)
删除语句 movies.Remove(new Document() { { “title”, “Hello Esr” } }); DELETE * FROM movies
更新语句 movies.Update(new Document() { { “title”, “测试2″ } }
, new Document() { { “title”, “测试11111″ } });
UPDATE movies SET `title` = ‘测试1111’ WHERE `title` = ‘测试1111′
Linq查询 (from item in db.GetCollection(“movies”).Linq()
where ((string)item["title"]).StartsWith(“Esr”)
select item);
select * from movies where title like ‘%Esr’

这里只举出了几个比较典型的例子,可以这么说,只要mysql可以完成的sql语句,在mongodb里面都可以实现.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Version wird im Allgemeinen für Mongodb verwendet? Welche Version wird im Allgemeinen für Mongodb verwendet? Apr 07, 2024 pm 05:48 PM

Es wird empfohlen, die neueste Version von MongoDB (derzeit 5.0) zu verwenden, da diese die neuesten Funktionen und Verbesserungen bietet. Bei der Auswahl einer Version müssen Sie funktionale Anforderungen, Kompatibilität, Stabilität und Community-Unterstützung berücksichtigen. Die neueste Version verfügt beispielsweise über Funktionen wie Transaktions- und Aggregationspipeline-Optimierung. Stellen Sie sicher, dass die Version mit der Anwendung kompatibel ist. Wählen Sie für Produktionsumgebungen die Langzeit-Support-Version. Die neueste Version bietet eine aktivere Community-Unterstützung.

So machen Sie das Löschen vom Startbildschirm im iPhone rückgängig So machen Sie das Löschen vom Startbildschirm im iPhone rückgängig Apr 17, 2024 pm 07:37 PM

Sie haben etwas Wichtiges von Ihrem Startbildschirm gelöscht und versuchen, es wiederherzustellen? Es gibt verschiedene Möglichkeiten, App-Symbole wieder auf dem Bildschirm anzuzeigen. Wir haben alle Methoden besprochen, die Sie anwenden können, um das App-Symbol wieder auf dem Startbildschirm anzuzeigen. So machen Sie das Entfernen vom Startbildschirm auf dem iPhone rückgängig. Wie bereits erwähnt, gibt es mehrere Möglichkeiten, diese Änderung auf dem iPhone wiederherzustellen. Methode 1 – App-Symbol in der App-Bibliothek ersetzen Sie können ein App-Symbol direkt aus der App-Bibliothek auf Ihrem Startbildschirm platzieren. Schritt 1 – Wischen Sie seitwärts, um alle Apps in der App-Bibliothek zu finden. Schritt 2 – Suchen Sie das App-Symbol, das Sie zuvor gelöscht haben. Schritt 3 – Ziehen Sie einfach das App-Symbol aus der Hauptbibliothek an die richtige Stelle auf dem Startbildschirm. Dies ist das Anwendungsdiagramm

Der Unterschied zwischen NodeJS und VueJS Der Unterschied zwischen NodeJS und VueJS Apr 21, 2024 am 04:17 AM

Node.js ist eine serverseitige JavaScript-Laufzeitumgebung, während Vue.js ein clientseitiges JavaScript-Framework zum Erstellen interaktiver Benutzeroberflächen ist. Node.js wird für die serverseitige Entwicklung verwendet, beispielsweise für die Entwicklung von Back-End-Service-APIs und die Datenverarbeitung, während Vue.js für die clientseitige Entwicklung verwendet wird, beispielsweise für Single-Page-Anwendungen und reaktionsfähige Benutzeroberflächen.

Wo wird die von mongodb erstellte Datenbank erstellt? Wo wird die von mongodb erstellte Datenbank erstellt? Apr 07, 2024 pm 05:39 PM

Die Daten der MongoDB-Datenbank werden im angegebenen Datenverzeichnis gespeichert, das sich im lokalen Dateisystem, Netzwerkdateisystem oder Cloud-Speicher befinden kann. Der spezifische Speicherort ist wie folgt: Lokales Dateisystem: Der Standardpfad ist Linux/macOS: /data/db, Windows: C:\data\db. Netzwerkdateisystem: Der Pfad hängt vom Dateisystem ab. Cloud-Speicher: Der Pfad wird vom Cloud-Speicheranbieter bestimmt.

Was sind die Vorteile der Mongodb-Datenbank? Was sind die Vorteile der Mongodb-Datenbank? Apr 07, 2024 pm 05:21 PM

Die MongoDB-Datenbank ist für ihre Flexibilität, Skalierbarkeit und hohe Leistung bekannt. Zu seinen Vorteilen gehört: ein Dokumentdatenmodell, das eine flexible und unstrukturierte Speicherung von Daten ermöglicht. Horizontale Skalierbarkeit auf mehrere Server über Sharding. Abfrageflexibilität, Unterstützung komplexer Abfragen und Aggregationsvorgänge. Datenreplikation und Fehlertoleranz sorgen für Datenredundanz und hohe Verfügbarkeit. JSON-Unterstützung für einfache Integration mit Front-End-Anwendungen. Hohe Leistung für schnelle Reaktion auch bei der Verarbeitung großer Datenmengen. Open Source, anpassbar und kostenlos nutzbar.

Was bedeutet Mongodb? Was bedeutet Mongodb? Apr 07, 2024 pm 05:57 PM

MongoDB ist ein dokumentenorientiertes, verteiltes Datenbanksystem zur Speicherung und Verwaltung großer Mengen strukturierter und unstrukturierter Daten. Zu den Kernkonzepten gehören die Speicherung und Verteilung von Dokumenten und zu den Hauptfunktionen gehören dynamische Schemata, Indizierung, Aggregation, Kartenreduzierung und Replikation. Es wird häufig in Content-Management-Systemen, E-Commerce-Plattformen, Social-Media-Websites, IoT-Anwendungen und der Entwicklung mobiler Anwendungen eingesetzt.

So öffnen Sie Mongodb So öffnen Sie Mongodb Apr 07, 2024 pm 06:15 PM

Unter Linux/macOS: Erstellen Sie das Datenverzeichnis und starten Sie den Dienst „mongod“. Unter Windows: Erstellen Sie das Datenverzeichnis und starten Sie den MongoDB-Dienst über den Service Manager. In Docker: Führen Sie den Befehl „docker run“ aus. Auf anderen Plattformen: Bitte konsultieren Sie die MongoDB-Dokumentation. Überprüfungsmethode: Führen Sie den Befehl „mongo“ aus, um eine Verbindung herzustellen und die Serverversion anzuzeigen.

Wo sind die Mongodb-Datenbankdateien? Wo sind die Mongodb-Datenbankdateien? Apr 07, 2024 pm 05:42 PM

Die MongoDB-Datenbankdatei befindet sich im MongoDB-Datenverzeichnis, das standardmäßig /data/db ist und .bson (Dokumentdaten), ns (Sammlungsinformationen), Journal (Schreibvorgangsdatensätze) und wiredTiger (Daten bei Verwendung von WiredTiger) enthält Speicher-Engine) und config (Datenbankkonfigurationsinformationen) und andere Dateien.

See all articles