MongoDb多条件查询
先从网上下载MongoDB。地址http://www.mongodb.org/,找到适合自己的下载
这是我下载的。
在E盘新建个文件夹,将刚才下载的zip解压,将其中bin目录下的文件全部拷贝至刚才新建的文件夹。
然后在其中再建立个data文件夹。
然后通过cmd去启动你的MongoDB
看我红线框出来的即可。上面打错了 - -
将mongodb添加至系统服务中:
E:\webdev\mongodb>mongod --logpath e:\webdev\mongodb\logs\mongodb.log --logappen d --dbpath e:\webdev\mongodb\data --directoryperdb --serviceName MongoDB --install
然后访问localhost:27017看到如下所示,就表示你的MongoDB已经启动完毕
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; using System.Data; using System.Data.SqlClient; using MongoDB.Bson; using MongoDB.Driver; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //连接信息 string conn = "mongodb://localhost"; string database = "demoBase"; string collection = "demoCollection"; MongoServer mongodb = MongoServer.Create(conn);//连接数据库 MongoDatabase mongoDataBase = mongodb.GetDatabase(database);//选择数据库名 MongoCollection mongoCollection = mongoDataBase.GetCollection(collection);//选择集合,相当于表 mongodb.Connect(); //普通插入 var o = new { Uid = 123, Name = "xixiNormal", PassWord = "111111" }; mongoCollection.Insert(o); //对象插入 Person p = new Person { Uid = 124, Name = "xixiObject", PassWord = "222222" }; mongoCollection.Insert(p); //BsonDocument 插入 BsonDocument b = new BsonDocument(); b.Add("Uid", 125); b.Add("Name", "xixiBson"); b.Add("PassWord", "333333"); mongoCollection.Insert(b); Console.ReadLine(); } } class Person { public int Uid; public string Name; public string PassWord; } }
结果:
都是上述配置写的,程序会自动建立对应的库和集合。
下面的操作不上完整代码了:
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
/*--------------------------------------------- * sql : SELECT * FROM table *--------------------------------------------- */ MongoCursor<Person> p = mongoCollection.FindAllAs<Person>(); /*--------------------------------------------- * sql : SELECT * FROM table WHERE Uid > 10 AND Uid < 20 *--------------------------------------------- */ QueryDocument query = new QueryDocument(); BsonDocument b = new BsonDocument(); b.Add("$gt", 10); b.Add("$lt", 20); query.Add("Uid", b); MongoCursor<Person> m = mongoCollection.FindAs<Person>(query); /*----------------------------------------------- * sql : SELECT COUNT(*) FROM table WHERE Uid > 10 AND Uid < 20 *----------------------------------------------- */ long c = mongoCollection.Count(query); /*----------------------------------------------- * sql : SELECT Name FROM table WHERE Uid > 10 AND Uid < 20 *----------------------------------------------- */ QueryDocument query = new QueryDocument(); BsonDocument b = new BsonDocument(); b.Add("$gt", 10); b.Add("$lt", 20); query.Add("Uid", b); FieldsDocument f = new FieldsDocument(); f.Add("Name", 1); MongoCursor<Person> m = mongoCollection.FindAs<Person>(query).SetFields(f); /*----------------------------------------------- * sql : SELECT * FROM table ORDER BY Uid DESC LIMIT 10,10 *----------------------------------------------- */ QueryDocument query = new QueryDocument(); SortByDocument s = new SortByDocument(); s.Add("Uid", -1);//-1=DESC MongoCursor<Person> m = mongoCollection.FindAllAs<Person>().SetSortOrder(s).SetSkip(10).SetLimit(10);
原文地址为:http://www.cnblogs.com/yimiao/archive/2011/11/11/2245637.html
posted on 2013-09-02 09:10 AllonBlog 阅读(1126) 评论(0) 编辑 收藏 举报