-
MongoDB搭建
查看全部 -
db.imooc_collection.remove()
remove() 進行記錄刪除
不帶參數(shù)會報錯
db.imooc_collection.remove
function (t, justOne)
t 表示查找的條件
justOne 表示是否只刪除一個 此參數(shù)默認 false,
所以默認情況下 是刪除所有滿足條件的記錄
db.imooc_collection.drop()
drop() 進行表刪除
查看全部 -
數(shù)據(jù)量少時無索引比較快
數(shù)據(jù)量大時有索引比較快
索引對查詢有優(yōu)化,對插入和更改有影響,因為在插入和更改時需要更新索引
db.imooc_collection.getIndexes()? ??
getIndexes()????查看索引
索引的結(jié)構(gòu)是個數(shù)組,意味著可以有多個索引
db.imooc_collection.ensureIndex({x:1})
ensureIndex創(chuàng)建索引,所帶參數(shù)意思為:x為索引字段,1 代表正向排序,-1代表逆向排序。
查看全部 -
update() 只會更新滿足條件的第一條記錄。
設計初衷是為了防止誤操作。。。。
db.imooc_collection.update
function (query, obj, upsert, multi)?
update 函數(shù)的定義在最后有兩個參數(shù) upsert,multi 兩個參數(shù)的默認值都是false
upsert 的意義是 在update 未找到相應記錄時,是否插入新紀錄
multi 的意義是 是否對多條記錄產(chǎn)生影響。
查看全部 -
update的第一個參數(shù)其實是find帶的參數(shù),主要用于查找,當條件不滿足的時候也就是查找不到相應數(shù)據(jù)記錄的時候如果我們對其更新是不會產(chǎn)生任何效果的。
但是往往有需求 在update不起作用的時候 要自動創(chuàng)建新紀錄
db.imooc_collection.update({z:10},{y:99},true)
查找的條件為 {z:10} 更新為的類容為{y:99}?
而此時我并沒有z:10的數(shù)據(jù),此時第三個參數(shù)起作用了,當它為true時,如果update 根本沒找到記錄,則他會直接插入一條{y:99}的記錄。
db.imooc_collection.update({z:10},{$set:{y:99}},true)
如果更新的時候帶了{$set: } 那么會將條件部分和更新的部分一同插入一條記錄中
查看全部 -
db.imooc_collection.update({x:1},{x:999})
update({x:1},{x:999}) 用于更新,至少帶兩個參數(shù),第一個是原來的數(shù)據(jù)查詢,第二個是更改后的,記錄內(nèi)容,其更新方式是將原來的類容進行覆蓋。
db.imooc_collection.update({z:100},{$set:{y:99}})
在更新數(shù)據(jù)的外面增加{$set: }即可保證只更新存在的字段。
查看全部 -
show dbs 顯示所有數(shù)據(jù)庫
顯示已經(jīng)被初始化之后的數(shù)據(jù)庫
show collections 顯示表。
use xxx 選擇 xxx 數(shù)據(jù)庫
數(shù)據(jù)庫不存在也可被use 且use后不會被立即創(chuàng)建,而是對其進行操作之后才會初始化數(shù)據(jù)庫,并寫入數(shù)據(jù)。
db.dropDatabase() 刪除當前數(shù)據(jù)庫
db.imooc_collection.insert({x:1})
每一條記錄都是一個json 每個記錄都會有一個 _id 字段,這個字段在一個集合中不能重復,可以自己指定也可以系統(tǒng)生成。
db.imooc_collection.find()
find用于查詢,不帶參數(shù)時查詢?nèi)?,帶參?shù)時查詢滿足條件的記錄。條件格式也是json,比如find({x:1}) 就是查詢 x=1的記錄
db.imooc_collection.find().count() 計算查詢到的數(shù)量和
count() 計算查詢到的記錄的個數(shù)。
db.imooc_collection.find().skip(3).limit(2).sort({x:1})
skip(x) 表示跳過查詢到的數(shù)據(jù)中的最前面x條記錄
limit(x) 表示最終顯示的數(shù)據(jù)的條數(shù)為x條
sort({x:1}) 表示按照x字段進行排序,至于為什么是{x:1}我不知道
查看全部 -
配置文件中的相對路徑只是相對于當前pwd 的,并不是相對于 配置文件的。。采坑
查看全部 -
MongoDB特性
沒有表結(jié)構(gòu),每條記錄可以完全不同的結(jié)構(gòu)
業(yè)務開發(fā) 方便快捷
查看全部 -
sql數(shù)據(jù)庫:實時一致性、事務、多表聯(lián)合查詢
NoSql數(shù)據(jù)庫:簡單便捷、方便擴展、更好的性能
查看全部 -
創(chuàng)建全文索引的方法
查看全部 -
數(shù)據(jù)刪除?remove?必須傳參數(shù),不傳會報錯,他默認刪除所有查找到的數(shù)據(jù) db.imooc_collection.remove({c:2}) db.imooc_collection.remove({}) 刪除整張表 db.collection.drop
查看全部 -
在進行全部更新時只允許,使用$set操作,不能用全量覆蓋操作
db.collection.update({c:1}, {$set:{$c:99}}, false, true)
查看全部 -
mongo支持使用js.
插入多條數(shù)據(jù)
for(i=3;i<100;i++)db.imooc_collection.insert({ x : i })
查看全部 -
停止mongo服務
use admin
db.shutdownServer()
查看某文件倒數(shù)的幾行數(shù)據(jù)
tail? -f? log/mongo.log
tail? filename
tail -20?log/mongo.log
查看全部
舉報