微信小程序后端学习笔记——Mongodb数据库基本操作

一、采用Node.js对Mongodb中的数据进行查询

查询格式为:

表名.find({

字段名:数据

})

例如:

 OrderReceive.find({

        state:"待审核"

    })

如果不声明字段则返回全部数据例如

 OrderReceive.find()

查询完成后会返回满足查询要求的整条数据:

因此查询通常与const一起使用

例如:

    const result = await OrderReceive.find({

        state:"待审核"

    })

result就是查询到的数据

在find后可以接sort对查询到的数据进行排序

格式为:

表面.find({

查询条件

}).sort({

排序字段:-1(-1是倒序,1是正序)

})

例如:

const result = await OrderReceive.find({

        state:"通过"

    }).sort({

        orderNumber:-1

})

上述代码的意思是查询OrderReceive数据表中字段state是“通过”的所有数据并将这些数据按照orderNumber的大小进行倒序排列,随后赋给常量result

 

二、对Mongodb中的数据进行修改

 对Mongodb数据库中的数据进行修改的函数通常使用findByIdAndUpdate()

具体格式为:

表面.findByIdAndUpdate(_id,{

字段名:修改的参数

})

例如将数据库中state从待审核改为审核:

        OrderReceive.findByIdAndUpdate(_id,{

            state:'审核',

        }),

上述的_id是Mongodb数据库中每条数据的一个唯一标识,由数据库自动生成

三、对数据库中的数据进行删除

 对Mongodb数据库中的数据进行删除,采用findByIdAndDelete()

格式:

表面.findByIdAndDelete(_id)

例如:

 await OrderReceive.findByIdAndDelete("64d3aa57380e883755c3ec52")

四、Mongodb数据库聚合操作 

如果想要对数据库中的表进行连续有关联的增删改查或者想进行部分运算操作,就需要进行聚合操作,采用aggregate([])进行聚合操作

格式:

表面.aggregate([

{

聚合操作1

},

{

聚合操作2

}

]) 

例如:

    const result = await Orders.aggregate([

        {

        $match:{

            state:'已完成',

            ReceviceOpenid,

        }},

        {

                 $group:{

            _id:'',

            totalmoney:{

                $sum:'$money'

            }

        },  

        }

]);

其中$match是条件过滤结合操作,$group是分组聚合操作(主要用这个进行计算)其中_id:''是指对所有的表进行操作,如果_id中指定了明确的id就只对该id对应的数据表进行操作

$sum是求和,$money是指数据表中的money字段

详细可见视频:

 精通MongoDB 08-聚合查询_哔哩哔哩_bilibili

精通MongoDB 09-实验:聚合查询_哔哩哔哩_bilibili

五、计数

如果想要统计满足条件的数据条数可以采用countDocuments()进行统计

格式:

表面.countDocuments({

搜索条件,

})

例如:

    const result = await Orders.countDocuments({

        ReceviceOpenid,

        state:'已完成'

    })

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值