摘要:安装首先要安装,具体安装过程参考菜鸟教程运行因为我是,所以以下内容以系统为主,系统建议参考菜鸟教程进入的文件目录下,运行执行文件以管理员身份运行然后另开一个命令行,同样进入的文件目录下,运行执行文件,然后便会进入的环境进入的环境在的环境中可
安装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环境中我选择的是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输出查询数量
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/19169.html
摘要:使用,可参考执行退出命令,只要设置,即可。下节主要实现注册时的邮件验证保存登录状态异常处理,同步异步操作全栈工程技术新群上一篇公司项目实践下一篇待续 一、前言 ⋅⋅⋅书接上回,我们搭建了WEB服务端路由、模板等功能,完成了register 通过ajax与后端的通信,今天主要完成数据与mongodb的存取,实现注册 / 登录 / 退出功能 ⋅⋅⋅DEMO GIT https://gi...
摘要:本文详细介绍如何部署项目到阿里云上,以及本人在部署过程中所遇到的问题坑点和解决办法,可以说是全网最全最详细的教程了。同时讲解了如何申请阿里云免费证书,以及一台服务器配置多网站的配置方法等。优惠券阿里云产品通用代金券最高元。 本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题、坑点和解决办法,可以说是全网最全最详细的教程了。同时讲解了如何申请阿里云免费...
摘要:连接数据库引子博客肯定是以用户为中心,包括用户的注册,用户的登录,用户发表留言,对留言进行评价等等功能,所以,自然离不开数据库。概念解析在中基本的概念是文档集合数据库。这两种方式连接都需要,或者主机名字,数据库名字,端口号,配置项等。 连接数据库 引子 博客肯定是以用户为中心,包括用户的注册,用户的登录,用户发表留言,对留言进行评价等等功能,所以,自然离不开数据库。 MongoDB M...
摘要:说明在中获取数据,不管使用回调函数还是又或者语法最后得到都是对象,不能直接操作如同普通对象一样得到单行数据。还有就是时间格式化问题,见下面。 说明 在mongodb 中获取数据,不管使用回调函数还是Promise又或者generate 语法最后得到都是mongoose.Query对象,不能直接操作如同普通对象一样得到单行数据。还有就是时间格式化问题,见下面。 下面示例默认使用co 和...
阅读 4374·2021-09-26 10:17
阅读 956·2021-09-22 15:02
阅读 3577·2021-09-06 15:00
阅读 1138·2021-07-25 16:52
阅读 2836·2019-08-29 16:16
阅读 2599·2019-08-29 13:25
阅读 1655·2019-08-26 13:51
阅读 2251·2019-08-26 10:58