Mongodb 與sql 語句對照

2021-09-06 13:58:01 字數 2440 閱讀 9894

此處用mysql中的sql語句做例子,c# 驅動用的是samus,也就是上文中介紹的第一種.

引入專案mongodb.dll

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 });

select * from movies where title= 'foobar'

查詢數量

movies.find(new document }).documents.count();

select count(*) from movies where `title` = 'foobar'

數量範圍查詢

1, movies.find(new document().add("whe

re",

newc

ode(

"thi

s.nu

m>50"

)));

2,mo

vies

.fin

d(ne

wdoc

umen

t().

add(

"num

",ne

wdoc

umen

t().

add(

" gt",50))); (g

t:>;

gte : >= ; l

t:<;

lte : <= ; ne:

!=)3

,mov

ies.

find

("th

is.n

um>50"

);4,

movi

es.f

ind(

newd

ocum

ent(

).ad

d("

where",new code("function(x);")));

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() });

select * from movies order by num desc

查詢指定字段

movies.find(new document().add("num", new document().add("$gt", 50)), 10, 0, new document() });

select title from movies where num > 50

插入語句

movies.insert(new document() , });

insert inot movies (`title`, `reauledate`) values ('foobar',25)

刪除語句

movies.remove(new document() });

delete * from movies

更新語句

movies.update(new document() }              , new document() });

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裡面都可以實現.

mongodb查詢語句

1.基本查詢 構造查詢資料。db.test.findone 多條件查詢。下面的示例等同於sql語句的where name stephen and age 35 db.test.find 返回指定的文件鍵值對。下面的示例將只是返回name和age鍵值對。db.test.find 指定不返回的文件鍵值對...

SQL語句斷行與縮排

我來簡單的介紹一下開發原則 1 sql語句中的 from select union where 遇到這些關鍵字會自動換行,如果有巢狀會自動縮排。2 select 部分很長的話也會自動換行,case部分也會自動換行。程式中有3個檔案 breaksqlcmd.exe 命令列工具 breaksqlui.e...

SQL的IF語句與case when then

mysql的if既可以作為表示式用,也可在儲存過程中作為流程控制語句使用,如下是做為表示式使用 if expr1,expr2,expr3 如果 expr1 是true expr1 0 and expr1 null 則 if 的返回值為expr2 否則返回值則為 expr3。if 的返回值為數字值或字...