MongoDB 数据库的连接和增删改查操作

安装mongoose包

cnpm i mongoose

导入

var mongoose=require(‘mongoose’)
var Schema = mongoose.Schema

0.连接数据库

	//`1.连接数据库`
    // 如果数据库不存在,当插入第一条数据之后会自动被创建
    mongoose.connect('mongodb://localhost/user')

    //`2.设计文档结构(表结构)`
    var userSchema =new Schema({
        username: {
            type:String,
            required:true//必须有
        },
        password:{
            type:String,
            required: true
        },
    })

    //`3.将文档结构发布为模型并创建集合`
    //mongoose.model方法就是用来讲一个架构发布为model
    //第一个参数:传入一个大写名词单数字符串用来表示数据库名称
    //mongoose会自动将大写名词的字符串生成小写复数的集合名称
    //例如 User 会变为 users
    //第二个参数:架构 Schema  返回值:模型 构造函数

    var User = mongoose.model('User',userSchema)

1.增!

 //新增数据
    var admin=new User({
        username:'admin',
        password:'123456'
    })

    admin.save(function (err,ret){
        if(err){
            console.log('插入失败');
        }
        else {
            console.log('插入成功');
            console.log(ret);
        }
    })

2.删!

//删除数据
    User.remove(
    {
        username:'user2',
    },
    function (err,ret){
        if(err){
            console.log('删除失败');
        }
        else {
            console.log('删除成功');
            console.log(ret);
        }
    })

3.改!

//修改数据
    User.updateMany(
        {
        username:'user1'
        },
        {
          $set:{"password":"10086"}
        },
        function (err,ret){
            if(err){
                console.log('修改失败');
            }
            else {
                console.log('修改成功');
                console.log(ret);
            }
        })

4.查!

	//查询数据
	User.find(
	{
   	 username:'admin',
	},
	function (err,ret){
    	if(err){
       		 console.log('查询失败');
    	}
   		 else {
        	console.log('查询成功');
        	console.log(ret);
   		 }
	})

补充

1.增–补

db.表名.insertOne() 将单个文档插入到一个集合
db.表名.insertMany() 将文档数组插入到一个集合
db.表名.insert() 将单个或多个文档到一个集合。要插入一个单一的文件,传递文档;插入多个文件,传递文档数组。

同样能实现插入效果的方法

db.collection.update() 当upsert为true时//第三个参数
db.collection.updateOne() 当upsert为true时//第三个参数
db.collection.updateMany() 当upsert为true时//第三个参数
db.collection.findAndModify() 当upsert为true时**
db.collection.findAndModify() 当upsert为true时**
db.collection.findOneAndReplace() 当upsert为true时
db.collection.bulkWrite().
db.collection.save().
db.collection.save(doc)若doc含有_id且在集合中存在,这将会替换集合内的文档(update),不存在则是insert该文档,若不存在_id,则是insert

2.改–补

修改数据(update updateOne updateMany) 跟insert一样,不推荐update的写法($set强制修改

db.user.update({“name”:“alex”},{$set:{“age”:“30”}}) 根据条件修改数据

db.user.updateOne({“age”:“30”},{$set:{“name”:“whh”}}) 根据条件修改一条数据的内容,如出现多条,只修改最高前的数

db.user.updateMany({“age”:“30”},{$set:{“name”:“wu_sir”}}) 根据条件修改所有数据的内容,多条修改

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值