mongo语法
mongo(客户端)、mongod(服务器端)
- 数据库操作
1. 查询
show dbs
2. 创建/切换数据库
use 数据库名称
3. 查看当前选中的数据库
db
4. 创建数据表
db.createCollection("表名");
db.createCollection("表名",{size:xxx,capped:true,max:50000})
5. 删除数据库
db.dropDatabase();
- 数据表操作
1. 查看目前创建的所有数据表
db.getCollectionNames();
2. 删除数据表
db.表名.drop();
- 数据操作
1.增:
db.save({属性名:属性值,...});//插入一条数据
db.save([{},{},{}]);//插入多个数据
2.删:
db.表名.remove({属性名:属性值});
3.改:
db.表名.update({条件},{新内容});//此操作为替换
db.表名.update({条件},{$set:{新内容}});//此操作为修改
db.表名.update({条件},{$inc:{age:-1}});//做加减操作
4.查:
db.表名.find();//查找所有
db.表名.find({条件},{条件});//支持正则表达式
db.表名.find({},{属性a:1,属性b:1});//只需要属性a和属性b,其他不要,1和0做选择是否要显示
db.表名.find().sort({属性a:1(-1)});//选着将属性a按照升序(降序)排列
db.表名.find().skip(a).limit(b);//跳过前a条数据,再显示b条数据
db.表名.find().count();//获取表格内的数据数量
Node.js与MongoDB的关联
- 使用前先安装mongoose第三方模块
在新建文件夹下调用控制台(cmd),输入npm i mongoose
注意:Mongoose只不过是封装了MongoDB的操作的一个对象模型库 - 引入
const mongoose=require(‘mongoose’); - 连接数据库
mongoose.connect(‘mongodb://127.0.0.1/数据库名称’); - 设置数据类型,防止恶意输入
var useSchema=mongoose.Schema({
name:String,
age:Number,
pwd:String,
email:String,
vip:String
})
var 模型=mongoose.model("Users",userSchema,"数据表名");
//Users为模型名首字母要大写
//该操作只能调用一次,建议模块化开发,单独建立,再公开
SQL语句
增:
var user=new 模型({
name:"",
age:"",
pwd:"",
email:"",
vip:"",
})
user.save((err)=>{
console.log(err);
}
删:
模型.deleteOne/deleteMany({条件},(err)=>{
操作;
})
改:
模型.updateOne/updateMany({条件},{新内容},(err)=>{
操作;
})
查:
模型.find({条件},(err,result)=>{
result;
})
Ajax
- 同步交互
用户向服务器发起请求时,在服务器响应前,用户无法进行其他操作 - 异步交互
用户向服务器发起请求时,在服务器响应前,用户可以进行其他操作 - 步骤
(1). 创建Ajax的核心对象
var xhr=new XMLHttpRequest();
(2). 创建与服务器端的连接
xhr.open("GET",路由);
(3). 向服务器端发送请求
xhr.send(null);
注意:请求为get时为null,请求为post时将"?"后面的值放入,并且在之前设置xhr.setRequsteHeader("Content-type","application/x-www-form-urlencoded")
(4). 绑定状态监听事件
xhr.onreadystatechange=()=>{
if(xhr.readyState==4&&xhr.status==200){
xhr.responseText;
}
}