mongodb
- db 查看当前数据库
- db.user.insert({}); 向当前数据库中的user集合中插入一个文档
- db.user.find() 查看当前数据库中user集合的全部文档
mongoose
使用
- 1.引入
var mongoose=require('mongoose');
- 2.连接数据库
var UserSchema=new mongoose.Schema({ username:String,//用户名格式 age:Number,//age类型 level:Number },{collection:'user'});//数据库存储的集合的名称
- 3.定义操作的数据库模型
- 模型名具有不重名特性
var User=mongoose.model('User',UserSchema);
4.具体操作执行
增加(向集合中插入文档)
(1) 向集合中插入文档
(2)增加是异步方法``` User.create({username:'zfpx5',age:5},function (err, result) { console.log(err); console.log(result); }); ```
- 查找
(1)查找是严格匹配
User.find({username:/^zfpx/},function (err, docs) {
console.log(docs);
});
- 修改
- 修改更新要通过唯一的id查找
- 只更新第一条
{multi:true}-》匹配多少条更新多少条
参数:
参数1:修改的范围
参数2:要修改的样子(修改后的结果) - 返回的结果
- { ok:1 (1成功的状态)
- nModified: 1 实际更新数
- n: 1 匹配到的记录数}
User.update({age:{$gt:3}},{$inc:{level:1}},{multi:true},function (err,result) {//{$inc:{level:1}}递增,原来基础上加1 --》直立式递增level
console.log(result);
});
- 删除
User.remove({age:{$gt:5}},function (err, result) {
})
- 查找
练习
var mongoose=require('mongoose'); mongoose.connect('mongodb://127.0.0.1/'); var StudentSchema=new mongoose.Schema({//Schema规定内容 username:String, age:Number, }); var Student=mongoose.model('Student',StudentSchema);//model 指向模型 Student.create({username:'zfpx',age:8},function (err, doc) { Student.update({_id:doc._id},{$inc:{age:1}},{multi:true},function (err, result) { Student.remove({_id:doc._id},function (err, result) { console.log(result); }); }); });
5.query
属性过滤
- 特点:不能混合使用包含和排除
参数1:查询范围
参数2:需要显示的内容 (1:显示 0:不显示)
【xx:1显示xx 其他字段不要 xx:0 xx不显示,其他显示】
参数3:函数- 特点:不能混合使用包含和排除
查询一个(findOne)
Person.findOne({username,password},function (err, docs) {
if(err){
}else{
if(docs){
console.log('ok 登陆成功');
}else{
console.log('no ok 用户名错误');
}
}
});
- 查询模板
var pageSize=3;//每页的条数
var pageNumber=2;//当前是第几页
Person.find().sort({age:1}).skip(pageSize*(pageNumber-1)).limit(pageSize).exec(function (err, docs) {
});//返回一个对象 游标 skip跳过条数 limit限定返回的最大记录数 sort排序 sort({age:1}) 以age排序 1--》升虚 -1--》降序