Entity Framework 實體狀態
一.常用操作
1.新建資料庫
use 資料庫名;
2.顯示所有資料庫
show dbs;
3.新建集合(兩種方式)
隱式建立:在建立集合的同時往集合裡面新增資料
---db.c1.insert({name:"fuck",age:29});
顯式建立
db.createCollection()---db.createCollection("c2");
4.顯示所有集合
show collections;
5.db命令
db命令表示當前操作的資料庫
6.插入一對,當資料庫沒有集合c1時,mongodb會自動建立集合c1
key-value:db.c1.insert({name:"fuck",age:22});
7.查詢某個集合中的所有資料
db.c1.find();
8.查詢某個集合中的特定條件的資料
單條件查詢:
db.c1.find({name:"fuck"})
多條件查詢:
db.c1.find(name:"fuck",age:22)
只關心個別元素的查詢,即查出來只顯示name這個欄位,這裡的1表示顯示,0表示不顯示
db.c1.find({},{"name":1,"_id":0})
9.for迴圈插入資料:
for(var i=0;i<10000;i++)
{
db.c1.insert({name:"caonima",age:i})
}
10.mongodb支援分頁,只會顯示前20條資料
db.c1.find()
11.查詢集合條數
db.c1.find().count()
12.查詢符合條件的第一條文件
db.c1.findOne({name:"fuck"})
13.查詢一個集合中age大於5的所有文件
db.c1.find({age:{$gt:5}})
大於等於5
db.c1.find({age:{$gte:5}})
小於5
db.c1.find({age:{$lt:5}})
小於等於5
db.c1.find({age:{$lte:5}})
不等於5
db.c1.find({age:{$ne:5}})
14.分頁查詢,查詢眾多結果中的第5到10條
db.c1.find().skip(5).limit(5);
備註:第一個5為開始的序號,後面的5為開始序號後的條數
15.查詢集合中的文件,$all主要用來查詢陣列中包含關係,查詢條件中只要有一個不包含就不返回
db.c1.find({"b": { "$all" : [3,5]}});
{ "_id" : 11, "a" : "5", "b" : [ 5, 3, 7 ] }
{ "_id" : 111, "a" : 1, "b" : [ 3, 5 ] }
16.查詢集合中的文件,$in,類似於關係型資料庫中的IN
db.c1.find({age:{$in:[12,45]}})
17.查詢集合中不包含的文件,$nin,與$in相反
db.c1.find({age:{$nin:[12,45]}})
18.查詢集合中或條件的文件,$or,根據條件過濾掉某些資料
db.c1.find({$or:[{name:"fuckyou"},{age:11}]})
19.查詢集合中或條件相反的文件,$nor,根據條件過濾掉某些資料
db.c1.find({$nor:[{name:"fuckyou"},{age:11}]})
20.查詢集合中的文件,$exists,用於查詢集合中存在某個鍵的文件或不存在某個鍵的文件,例如查詢某集合中存在name鍵的所有文件,可以使用db.集合.find({name:{$exists:1}})
,指存在鍵名為name的文件,exists:1表示真,指存在,exists:0表示假,指不存在。
21.mongodb中的遊標:
var x = db.c1.find()
x.hasNext()
x.next()
22.更新集合中的文件,將age為33的name改為caonima
db.c1.update({age:33},{$set:{name:"caonima"}})
23.更新集合語法
db.collectionName.update(param1,param2,param3,param4)
1、需要更新的條件
2、更新的內容的物件
3、如果沒有符合條件的記錄,是否新增一條記錄。1為新增,預設值為0
4、如果有多個符合條件的記錄,是否全部更新,(預設值為0),如果全部更新,取值為1
24.展示mongo語句的掃描條數和查詢耗時可呼叫explain()函式
db.c2.update({"name":"fuck"}).explain()
25.更新集合中的文件,使用 $inc 將集合中name為user1的age加1,其它鍵不變, $inc表示使某個鍵值加指定的數值
db.c2.update({name:"caonima"},{$inc:{age:2}});
26.更新集合中的文件, $unset 用來刪除某個鍵
db.c2.update({name:"laji"},{$unset:{age:1}},1,0);
1、需要更新的條件
2、更新的內容的物件
3、如果沒有符合條件的記錄,是否新增一條記錄。1為新增,預設值為0
4、如果有多個符合條件的記錄,是否全部更新,(預設值為0),如果全部更新,取值為1
27.刪除orders集合的所有資料,集合還存在,索引都還存在
db.c2.remove({})
28.根據條件刪除資料
db.c2.remove({age: 55})
29.刪除集合,集合、索引都不存在了
db.collection.drop()
30.更多操作詳見
db.help()