Excel2016打印預(yù)覽表格的教程是什么(excel2016怎么看打印預(yù)覽)">Excel2016打印預(yù)覽表格的教程是什么(excel2016怎么看打印預(yù)覽)
852
2022-05-29
MongoDB
創(chuàng)建數(shù)據(jù)庫
- 格式:use DATABASE_NAME - use ruochen - db
創(chuàng)建數(shù)據(jù)庫需要插入一條數(shù)據(jù)才會在列表中顯示
- db.ruochen.insert({‘name’: ‘若塵’})
- show dbs
刪除數(shù)據(jù)庫
格式:db.dropDatabase()
use ruochen
db.dropDatabase()
show dbs
創(chuàng)建集合
- 格式:db.createCollection(name, options) - name: 要創(chuàng)建的集合名稱 - options: 可選參數(shù),指定有關(guān)內(nèi)存大小及索引的選項
在插入文檔時,MongoDB 首先檢查固定集合的 size 字段,然后檢查 max 字段
實例 # 在test數(shù)據(jù)庫中創(chuàng)建ruochen 集合 use test db.createCollection('ruochen') # 查看已有集合 show collections db.createCollection('test', {capped: true, autoIndexId: true, size: 1024000, max: 10000}) # autoIndexId 已棄用,默認(rèn)_id添加索引 # 插入文檔時,MongoDB會自動創(chuàng)建集合 db.ruochen.insert({'name': 'ruochen'})
刪除集合
格式:db.collection.drop()
use ruochen
db.createCollection(‘ruochen’) # 創(chuàng)建集合
show tables
db.ruochen.drop()
show tables
插入文檔
格式:db.COLLECTION_NAME.insert(document)
方法1
db.ruochen.insert({title: ‘MongoDB 教程’,
description: ‘shu ju ku’,
by: ‘ruochen’,
tags: [‘mongodb’, ‘database’, ‘NoSQL’]
})
db.ruochen.find()
方法2
document=({title: ‘mongodb’,
description: ‘shu ju ku’,
by: ‘ruochen’,
tags: [‘mongodb’, ‘database’, ‘NoSQL’]
})
db.ruochen.insert(document)
db.ruochen.find()
db.collection.insertOne() # 向指定集合中插入一條文檔數(shù)據(jù)
db.collection.insertMany() # 向指定集合中插入多條文檔數(shù)據(jù)
var document = db.ruochen.insertOne({“e”: 3})
document
var res = db.ruochen.insertMany([{‘a(chǎn)’: 1}, {‘b’: 2}])
res
一次插入多條數(shù)據(jù)
先創(chuàng)建數(shù)組
將數(shù)據(jù)放在數(shù)據(jù)中
一次insert到集合中
案例
var arr = [];
for(var i = 1; i < 5; i++){
arr.push({num:i});}
db.num.insert(arr);
更新文檔
格式 db.collection.update(
刪除文檔
語法: db.collection.remove(
查詢文檔
語法: db.collection.find(query, projection) 參數(shù)說明 query: 可選,使用查詢操作符指定查詢條件 projection: 可選,使用投影操作符指定返回的鍵。查詢時返回文檔中所有鍵值, 只需省略該參數(shù)即可(默認(rèn)省略) # 以易讀的方式讀取數(shù)據(jù) db.ruochen.find().pretty()
AND條件
find() 方法可以傳入多個鍵(key),每個鍵(key)以逗號隔開,即常規(guī) SQL 的 AND 條件
格式:
db.ruochen.find({key1: value1, key2: value2}).pretty()
案例
db.ruochen.find({‘by’: ‘ruochen’, ‘likes’: 200}).pretty()
類似于 where by=‘ruochen’ and likes=200
or條件
格式
db.ruochen.find( { $or:[ {key1: value1}, {key2: value2} ] } ).pretty()
案例
db.ruochen.find({$or:[{‘likes’: 2}, {‘likes’:200}]}).pretty()
AND和OR聯(lián)合
db.ruochen.find({‘likes’: {$gt:100}, $or: [{‘likes’: 2}, {‘likes’: 200}]}).pretty()
條件操作符
db.ruochen.insert({ title: 'python', description: 'i love python', by: 'ruochen', url: 'xxx', tags: ['python'], likes: 200 }) db.ruochen.insert({ title: 'php', description: 'php是世界上最好的語言', by: 'ruochen', url: 'xxx', tags: ['php'], likes: 150 }) db.ruochen.insert({ title: 'MondoDB', description: 'NoSQL數(shù)據(jù)庫', by: 'ruochen', url: 'xxx', tags: ['mongodb'], likes: 100 }) # 獲取 'ruochen' 集合中 'likes' 大于100的數(shù)據(jù) db.ruochen.find({likes: {$gt: 100}}).pretty() # 類似于SQL語句 Select * from ruochen where likes > 100; 獲取 'ruochen' 集合中 'likes' 大于等于100的數(shù)據(jù) db.ruochen.find({likes: {$gte: 100}}).pretty() # 類似于SQL語句 Select * from ruochen where likes >= 100; # 獲取 'ruochen' 集合中 'likes' 小于150的數(shù)據(jù) db.ruochen.find({likes: {$lt: 150}}).pretty() # 類似于SQL語句 Select * from ruochen where likes < 150; # 獲取 'ruochen' 集合中 'likes' 小于等于150的數(shù)據(jù) db.ruochen.find({likes: {$lte: 150}}).pretty() # 類似于SQL語句 Select * from ruochen where likes <= 150;
MongoDB 使用 (<) 和 (>) 查詢 - $lt 和 $gt
獲取"ruochen"集合中 “l(fā)ikes” 大于100,小于 200 的數(shù)據(jù)
db.ruochen.find({likes: {$lt: 200, $gt: 100}}).pretty()
類似SQL語句
Select * from ruochen where likes > 100 and likes < 200;
模糊查詢
查詢title中包含 ‘py’ 的文檔
db.ruochen.find({title:/py/}).pretty()
查詢title字段以 ‘p’ 開頭的文檔
db.ruochen.find({title:/^p/}).pretty()
查詢title 字段以 ‘p’ 結(jié)尾的文檔
db.ruochen.find({title:/p$/}).pretty()
MongoDB $type 操作符
$type操作符是基于BSON類型來檢索集合中匹配的數(shù)據(jù)類型,并返回結(jié)果
獲取 “ruochen” 集合中 title 為 String 的數(shù)據(jù)
db.ruochen.find({‘title’: {$type: 2}}).pretty()
db.ruochen.find({‘title’: {$type: String}}).pretty()
Limit與Skip方法
Limit() 方法
在MongoDB中讀取指定數(shù)量的數(shù)據(jù)記錄, 使用MongoDB的Limit方法
limit()方法接受一個數(shù)字參數(shù),該參數(shù)指定從MongoDB中讀取的記錄條數(shù)
語法
db.COLLECTION_NAME.find().limit(NUMBER)
案例
db.ruochen.find().limit(2)
Skip() 方法
skip()方法跳過指定數(shù)量的數(shù)據(jù)
skip方法接受一個數(shù)字參數(shù)作為跳過的記錄條數(shù)
語法
db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
案例
db.ruochen.find().limit(1).skip(1)
skip() 方法默認(rèn)參數(shù)為0
MongoDB 排序
sort() 方法
sort() 方法可以通過參數(shù)指定排序的字段,并使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而 -1 是用于降序排列
語法
db.COLLECTION_NAME.find().sort({key: 1})
案例
ruochen 集合中的數(shù)據(jù)按字段 likes 的降序排列
db.ruochen.find().sort({‘likes’: -1}).pretty()
skip(), limilt(), sort()三個放在一起執(zhí)行的時候,執(zhí)行的順序是先 sort(), 然后是 skip(),最后是顯示的 limit()。
MongoDB 索引
creatIndex() 方法
MongoDB使用 createIndex() 方法來創(chuàng)建索引
語法
db.collection.createIndex(keys, options)
Key 值為你要創(chuàng)建的索引字段, 1 為指定按升序創(chuàng)建索引, -1 為降序創(chuàng)建索引
案例
db.ruochen.createIndex({‘title’: 1})
db.ruochen.createIndex({‘title’: 1, ‘description’: -1}) # 設(shè)置多個字段創(chuàng)建索引
createIndex() 接收可選參數(shù),可選參數(shù)列表如下
MongoDB聚合
MongoDB聚合(aggregate)主要用于處理數(shù)據(jù)(諸如統(tǒng)級平均值、求和等), 并返回計算后的數(shù)據(jù)結(jié)果。有點類似sql語句中的count(*)
aggregate() 方法
語法
db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION)
實例
db.ruochen.aggregate([{group: {_id: "by", num_tutorial: {$sum: 1}}}])
類似于mql語句
select by, count(*) from ruochen group by by
聚合表達(dá)式
管道
管道在Unix和Linux中一般用于將當(dāng)前命令的輸出結(jié)果作為下一個命令的參數(shù)
MongoDB的聚合管道將MongoDB文檔在一個管道處理完畢后將結(jié)果傳遞給下一個管道處理
管道操作是可以重復(fù)的
表達(dá)式:處理文檔并輸出
表達(dá)式是無狀態(tài)的,只能用于計算當(dāng)前聚合管道的文檔,不能處理其它的文檔
常用操作
$project:修改輸入文檔的結(jié)構(gòu)。可以用來重命名、增加或刪除域,也可以用于創(chuàng)建計算結(jié)果以及嵌套文檔
m
a
t
c
h
:用于過濾數(shù)據(jù),只輸出符合條件的文檔。
match:用于過濾數(shù)據(jù),只輸出符合條件的文檔。
match:用于過濾數(shù)據(jù),只輸出符合條件的文檔。match使用MongoDB的標(biāo)準(zhǔn)查詢操作
$limit:用來限制MongoDB聚合管道返回的文檔數(shù)
$skip:在聚合管道中跳過指定數(shù)量的文檔,并返回余下的文檔
$unwind:將文檔中的某一個數(shù)組類型字段拆分成多條,每條包含數(shù)組中的一個值
$group:將集合中的文檔分組,可用于統(tǒng)計結(jié)果
$sort:將輸入文檔排序后輸出
$geoNear:輸出接近某一地理位置的有序文檔
舉例
$project
db.ruochen.aggregate( { $project: { title: 1, by: 1, }} ); 只剩_id, title 和 by 三個字段,默認(rèn)_id 字段被包含 db.ruochen.aggregate( { $project: { _id: 0 title: 2, by: 1, }} ); 如此即可不包含_id, 非0可表示顯示字段,負(fù)數(shù)也可以表示顯示該字段
$match
獲取分?jǐn)?shù)大于70或小于等于90的記錄,然后把符合條件的記錄送到下一階段$group 管道操作符進(jìn)行處理 db.ruochen.aggregate([ {$match: {score: {$gt: 70, $lte: 90}}}, {$group: {_id: null, count: {$sum: 1}}} ])
當(dāng) match 條件和 group 同時存在時,順序會影響檢索結(jié)果,必須先寫 match 在前面
$skip
過濾前5個文檔 db.ruochen.aggregate( {$skip: 5});
MongoDB 數(shù)據(jù)庫 數(shù)據(jù)結(jié)構(gòu)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。