Mongodb 基本API操作

查詢:

db.collection.find({age:28})[2]:find返回的是數組,可以根據索引獲取
db.collection.findOne({age:28}).name:findOne返回的是對象,可以點語法獲取值
db.collection.find().count():獲取符合條件的文檔數量
限制獲取文檔數量上限:
db.collection.find().skip(10),limit(20):獲取11-20條區間的數據(skip的值+1開始,limit相當於pagesize)
查詢操作符:
$gt $lt $eq ...:比較查詢
db.collection.find({num:{ $gt:40 , $lt : 50 }):找到num大於40小於50的所有文檔
$or:或者查詢:
db.collection.find({$or : [{ sal: { $lt : 1000 } , { sal : { $gt : 2500 }]})

修改:

db.collection.update({name:"沙和尚"},{age:28}):用{age:28}對象替換name是沙和尚的完整對象(update默認只改一個)
db.collection.update({name:"沙和尚"},{ $set : { age:20 }},{ multi:true }):這樣update就和updateMany一樣了
db.collection.updateMany():修改所有符合條件的
修改操作符:
$set:局部修改
db.collection.upadateOne({ name:"沙和尚" },{ $set : { age:20 }}):修改name是沙和尚的對象中的age
$unset刪除文檔指定屬性:
db.collection.upadateOne({ name:"沙和尚" },{ $unset: { address:true }}):刪除name是沙和尚的對象的address屬性
$inc:增加操作符:
db.collection.update({ sal : { $lt : 1000 }} , { $inc : { sal : 400 }})KaTeX parse error: Expected '}', got 'EOF' at end of input: …name:"bajie"},{push:{ “hobby.movies” : “newMovie” }}) :hobby文檔的內嵌文檔中的movies數組新增newMovie元素$addToSet`:向數組內添加元素,如果該元素存在則添加失敗

刪除:

db.collection.remove({name:"豬八戒"}):刪除name是豬八戒的所有文檔對象(默認刪除多個,和deleteMany一樣)
db.collection.remove({ name:"豬八戒" }, true ):只刪除一個文檔對象,和deleteOne一樣
db.collection.remove({}):清空集合(性能差)
db.collections.drop():刪除集合(性能好)

一般刪除並不真實刪除,而增加一個isDel字段,每次獲取只獲取isDel爲0的文檔

內嵌文檔:
查詢內嵌文檔:
`db.user.find({ “hobby.movies” : “heor” })

排序:

db.collection.find().sort({ sal : 1 , empno : -1 }):1表示升序,-1表示降序,同時指定多個表示先按第一個排,如果第一個遇到相等的值,則按後面指定順序排

投影:

db.collection.find({} , {ename :1 ,_id:0}):find的第二個參數位置設置想顯示的內容

schema:

設置所有字段的數據類型

const schema = new Schema({
	name:String,
	gender:{
		type:String.
		default:"female"
	}
})

model:

var StuModel = mongoose.model("student"/* 集合名,自動變複數 */,schema)
StuModel.create({
	name:"孫悟空",
	gender:"male"
},function(err){
	if(!err){
		console.log("插入成功")
}
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章