MongoDB & MySQL


Mongodbとsql文の照合
//  Mongo  
  var mongo = new Mongo("mongodb://localhost");
  mongo.Connect();
  //       ,           
  var db = mongo.GetDatabase("movieReviews");
  //      ,          
  var movies = db.GetCollection("movies");

接続に問題がない場合は、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 : < ; $lte : <= ; $ne : !=)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’