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("插入成功")
}
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章