mongodb和nodejs mongoose使用详解
安装mongodb
首先要安装mongodb,具体安装过程参考菜鸟教程
运行mongodb
因为我是mac,所以以下内容以OS系统为主,Windows系统建议参考菜鸟教程进入mongodb的bin文件目录下,运行mongod执行文件
sudo ./mongod //以管理员身份运行
然后另开一个命令行,同样进入mongodb的bin文件目录下,运行mongo执行文件,然后便会进入mongodb的shell环境
./mongo //进入mongodb的shell环境 >2+2 4
在mongodb的shell环境中可以直接操作数据库,语法请参考菜鸟教程
但shell操作比较反人类,我在这里推荐mongodb的GUI软件——Robo 3T,可以自行在官网下载
nodejs中mongodb的API
在nodejs环境中我选择的是mongoose
模块
var mongoose=require('mongoose')
mongoose语法
详情请戳mongoose官网连接数据库
mongoose.connect('mongodb://localhost:27017/test')//test即为存储的数据库名称,如果不存在将会自动生成
定义Schema和model
var CatSchema=mongoose.Schema({ name:String, age:Number }) var Cat=mongoose.model('Cat',CatSchema) //也可以合二为一,直接定义model var Cat=mongoose.model('Cat',{ name:String, age:Number }) //mongoose.model的第一个参数的字符串加上字母s便是储存在的数据库表单的名称(Cats)mongoose Schema常用预置类型:
- String 字符串
- Number 数字
- Date 日期
- Boolean 布尔值
- 和数组结合:[String] [Number]...
创建实例
var kitty=new Cat({ name:'Kitty', age:3 })
插入
kitty.save(function(err,res){ if(err) console.error(err) else console.log(res)//res为保存成功的对象 })
更新
var where={ name:'Kitty' } var update={ age:4 } Cat.update(where,update,function(err,res){ if(err) console.error(err) else console.log(res) })
通过ID查找并更新的方法
Cat.findByIdAndUpdate(whereById,update,function(err,res)){ if(err) console.error(err) else console.log(res) })
删除
Cat.remove(where,function(err,res)) //通过ID查找并删除 Cat.findByIdAndRomove(where,function(err,res))
查找
Cat.find(where,function(err,res))//res 返回查找到的对象数组 //可以限定输出的内容 var opt={ name:1//选择输出的值为1,不输出的值为0(其他不指定默认为0) } Cat.find(where,opt,function(err,res)) //var where=_id Cat.findById(where,function(err,res))//res 输出查询到的对象
查询
Cat.count(where,function(err,res))//res输出查询数量
相关推荐
lbyd0 2020-11-17
BigYellow 2020-11-16
sushuanglei 2020-11-12
我心似明月 2020-11-09
zhushenghan 2020-11-09
sunnnyduan 2020-10-16
不要皱眉 2020-10-14
xiaohai 2020-09-29
songxiugongwang 2020-09-22
萌亖 2020-09-17
LuckyLXG 2020-09-08
sdmzhu 2020-09-01
mkhhxxttxs 2020-09-16
xiaohai 2020-09-16
newcome 2020-09-09
jaylong 2020-08-19
大秦铁骑 2020-08-19
thatway 2020-08-19