Mongodb 与sql 语句对照
此处用mysql中的sql语句做例子,C# 驱动用的是samus,也就是上文中介绍的第一种.
引入项目MongoDB.dll
//创建Mongo连接 var mongo = new Mongo("mongodb://localhost"); mongo.Connect();//获取一个数据库,如果没有会自动创建一个 var db = mongo.GetDatabase("movieReviews");//创建一个列表,并为这个列表创建文档 var movies = db.GetCollection("movies"); 连接没问题之后,现在让我们用mysql 与mongodb的一些语句做下对比:
MongoDBMysql查询全部movies.find(new Document())SELECT * FROM movies条件查询movies.Find(new Document { { "title", "Hello Esr" } });SELECT * FROM movies WHERE> 2, movies.Find(new Document().Add("num", new Document().Add("$gt",50)));
($gt : > ; $gte : >= ; $lt : < ; $lte : 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>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>这里只举出了几个比较典型的例子,可以这么说,只要mysql可以完成的sql语句,在mongodb里面都可以实现.