mongo、Node.js操作mongoDB

67 阅读2分钟

mongo

数据库的操作

查询所有数据库

  • show dbs

创建/切换数据库

  • 没有就创建,有了就切换:use 数据库名称

查看当前选中的数据库

  • db
  • 注:一定要先创建数据表后,我们才能查看到自己创建的数据库
  • db.createCollection("表名") - 无限,

删除数据库

  • db.dropDatabase(); - 一旦删除不能恢复

数据表的操作

创建数据表

  • db.createCollection("表名",{size:5242880,capped:true,max:5000}) - 最大存储空间为5mb,最多存储5000个,意味着这个数据表做了限制,不推荐,用上面那个

查看目前所有的数据表

  • db.getCollectionNames();

删除数据表

  • db.表名.drop();

数据的操作

  • db.表名.save({键值对,...}) - 一次只能插入一条数据
  • db.表名.save([{},{},{},....]) - 一次插入多条数据

  • db.表名.remove({}) - 不推荐,删除数据库中所有的数据
  • db.表名.remove({name:"xx"}) - 会删除数据库中name:"xx"的数据

  • db.表名.update({条件},{$set:{新内容}});

  • db.表名.find(); - 找所有
  • db.表名.find({pwd:"666666"}); - 找到所有的密码为666666的数据
  • db.表名.find({},{name:1,pwd:1}) - 找到所有的数据,但是只返回name和pwd
  • db.表名.find().sort({age:1}) - 按照age升序排列,-1为降序排列
  • db.表名.find({age:{$gte:18}}) - 拿到所有age大于等于18的数据
  • db.表名.find({name:/正则/}) - 甚至可以用正则(模糊查询)
  • db.表名.find().skip(5).limit(5) - 跳过前5条,再拿5条,理解为5-10条数据(第几个分页条显示第几条数据-第几条数据)
  • db.表名.find().count() - 获取到此表有多少条数据(做出分页条)

Node.js操作mongoDB

安装第三方模块:npm i mongoose
1、引入:const mongoose = require('mongoose');
2、连接数据库:mongoose.connect("mongodb://127.0.0.1/数据库名称");
3、创建出一个新的数据表的同时,设置数据类型的控制,防止用户乱输
	const UserSchema=mongoose.Schema({
		age: Number,
		pwd: String,
		email: String,
		vip: String,
		name: String,
	})
	//		      模型名    类型限制     
	var User=mongoose.model("User",UserSchema,"数据表名");
4、增:
var x=new User({//仅仅只是创建出了一个x对象,并没有放入到数据库之中
	name: "xx",
})
x.save((err)=>{
	console.log("新增成功后要干什么");
})
5、删:
User.remove/deleteOne/deleteMany({条件},(err)=>{// - 作者不推荐remove在mongoose之中使用
	console.log("删除成功后要干什么");
})
6、改:
User.update/updateOne/updateMany({条件},{新内容},(err)=>{// - 作者不推荐update在mongoose之中使用
		console.log("修改成功后要干什么");
	})

7、查:
	User.find({条件},(err,result)=>{
		result就是你的查找到的结果
	})