当前位置: 首页 > news >正文

网站建设方维wordpress模板

网站建设方维,wordpress模板,深圳网站设计美工,国家开发银行助学贷款网站Mongodb命令大全 一、数据库相关命令二、集合相关命令三、文档(数据)相关命令1、_id 字段说明2、查询2.1、 查询操作符2.2、内嵌文档查询2.3、数组文档查询2.4、去重查询2.5、查询排序 sort2.6、分页查询2.7、指定列投影查询返回2.8、查询统计个数 count 3、聚合查询3.1、查询用… Mongodb命令大全 一、数据库相关命令二、集合相关命令三、文档(数据)相关命令1、_id 字段说明2、查询2.1、 查询操作符2.2、内嵌文档查询2.3、数组文档查询2.4、去重查询2.5、查询排序 sort2.6、分页查询2.7、指定列投影查询返回2.8、查询统计个数 count 3、聚合查询3.1、查询用户表中nametom的文档3.2、查询订单表中 amount大于 300 的订单3.3、查询订单中 status 1 并且 amount 大于 300 的订单3.4、内嵌查询3.5、查找 amount 大于 200 的订单并按 amount 降序排序 4、分组查询group4.1、按 item 字段分组并计算总销售量4.2、按 date 字段分组并计算总销售额4.3、按 item 分组并计算每种商品的平均价格和总销售量4.4、按 item 分组并创建一个包含所有销售日期的数组4.5、按 item 分组并创建一个包含唯一销售日期的数组4.6、查询结果后再分组4.7、对分组结果进行排序 2、插入3、修改4、删除5、计划查询6、多表连接查询 $lookup 一、数据库相关命令 选择数据库 // 语法 use database_name// 示例 use mydatabase显示当前数据库 db查询数据库列表 show dbs 删除当前所在数据库 db.dropDatabase()创建数据库 在插入数据时自动创建见文档下面的插入数据二、集合相关命令 显示集合列表 show collections 创建集合 // 语法 db.createCollection(collection_name, { options })// 示例 db.createCollection(products)// 创建固定大小的集合当集合达到指定的大小时它会覆盖最早的文档。固定大小的集合的文档一旦插入就不允许修改// 示例创建固定大小的集合cappedtrue表示集合有大小上限size是字节单位 db.createCollection(products, {capped: true, size: 1048576 })// 示例创建固定大小的集合cappedtrue表示集合有大小上限size是字节单位max是最大文档数 db.createCollection(products, {capped: true, size: 1048576, max: 1000})删除集合 // 语法 db.collection_name.drop()// 示例 db.products.drop()三、文档(数据)相关命令 1、_id 字段说明 _id 字段是每个文档的唯一标识符确保每个文档在集合中是唯一的。这个字段在每个文档中都是必须的并且在插入文档时会自动生成。如果没有显式指定 _idMongoDB 会为其生成一个唯一的 ObjectId。 假如我们在插入数据时没有指定_id值 db.users.insertOne({ name: Alice, age: 25 }) MongoDB 会自动生成一个 ObjectId 作为 _id如下 {_id: ObjectId(60a7c0c8b59b3c001c8e4f2d),name: Alice,age: 25 }2、查询 使用 _id 进行查询 db.users.find({ _id: ObjectId(60a7c0c8b59b3c001c8e4f2d) })指定_id值 db.users.insertOne({ _id: 1, name: Bob, age: 30 }){_id: 1,name: Bob,age: 30 }使用 _id 进行查询 db.users.find({ _id: 1 }) 2.1、 查询操作符 查询操作符 符号说明$eq等于$ne不等于$gt大于$lt小于$gte大于等于$lte小于等于 逻辑操作符 符号说明$and逻辑与$or逻辑或$not逻辑非$nor逻辑非或 查询单个文档查询单个数据 findOne // 语法 db.collection_name.findOne({ 列名: 值 });// 示例对比mysqlselect * from users where name Tom db.users.findOne({ name: Tom });查询多个文档查询多个数据 find // 示例对比mysqlselect * from users where age 25 db.users.find({ age: { $gt: 25 } });// 将返回结果游标转成数组 db.users.find({ age: { $gt: 25 } }).toArray();查询范围 // 查找年龄在 18 到 30 岁之间的用户 db.users.find({ age: { $gte: 18, $lte: 30 } }); and 查询 // 查找年龄大于 25 岁且性别为 男 的用户 db.users.find({ $and: [{ age: { $gt: 25 } }, { gender: 男 }] });or查询 // 查找年龄小于 18 岁或大于 60 岁的用户 db.users.find({ $or: [{ age: { $lt: 18 } }, { age: { $gt: 60 } }] });not 查询 // 查询 age 不等于 25 的文档 db.users.find({age: { $not: { $eq: 25 } } });// 等价于 db.users.find({age: { $ne: 25 } });nor 查询 nor可以理解为多个not条件的组合 // 查询年龄不是 25 且地址不是Shenzhen的文档 db.users.find({$nor: [{ age: 25 },{ address: Shenzhen }] });// 查询年龄不是 25 或 30 的用户, 且地址不是Shenzhen的文档 db.users.find({$nor: [{ age: 25 },{ age: 30},{ address: Shenzhen }] });in 查询 // 查询年龄是 25 和 35 的文档 db.users.find({ age: { $in: [25, 35] } });nin 查询 // 查询年龄不是是 25 和 35 的文档 db.users.find({ age: { $nin: [25, 35] } });正则查询 regex // 查询 name 中包含 Tom 的文档 db.users.find({name: { $regex: Tom } });// i 忽略大小写 db.users.find({name: { $regex: tom, $options: i } }); // 匹配电子邮件以 dave 开头的用户 db.users.find({email: { $regex: ^dave } });// 匹配电子邮件以 domain.com 结尾的用户 db.users.find({email: { $regex: domain\\.com$ } });// 多行模式匹配电子邮件包含 example 或 domain 的用户 db.users.find({email: { $regex: example|domain } });2.2、内嵌文档查询 // 数据结构 [{_id: 1,name: Alice,age: 30,address: {street: 123 Elm St,city: New York,state: NY,zip: 10001}},{_id: 2,name: Bob,age: 25,address: {street: 456 Oak St,city: Los Angeles,state: CA,zip: 90001}} ]// 查询语句查找有地址的用户并且地址的城市是 New York db.users.find({ address.city: New York }); 2.3、数组文档查询 $elemMatch匹配数组中满足条件的元素 // 数据结构 [{_id: 1,name: Alice,age: 30,friends: [{ name: Bob, age: 25 },{ name: Charlie, age: 32 }]},{_id: 2,name: David,age: 28,friends: [{ name: Eve, age: 22 },{ name: Frank, age: 29 }]} ]// 查询语句查找friends中包含年龄大于 30 岁的用户 db.users.find({ friends: { $elemMatch: { age: { $gt: 30 } } } }) 2.4、去重查询 // 给 age 字段去重 db.users.distinct(age);// age 大于 25 的用户的去重 name 字段 db.users.distinct(name, { age: { $gt: 25 } });2.5、查询排序 sort // 使用关键字sort按照 age 升序排序 db.users.find().sort({ age: 1 });// 按照 age 降序排序 db.users.find().sort({ age: -1 });2.6、分页查询 // 使用 limit 关键字返回前5条数据 db.users.find().limit(5);// 分页查询跳过前 5 个文档并返回接下来的 5 个文档 db.users.find().skip(5).limit(5)2.7、指定列投影查询返回 查询只返回指定列 投影 // 返回 name age,不返回_id 0表示不返回1表示返回 db.users.find({}, { name: 1, age: 1, _id: 0 }); 查询不返回指定的列 投影 // 不返回 name, 其他字段都返回0表示不返回1表示返回 db.users.find({}, { name: 0 });2.8、查询统计个数 count // 查询集合中的所有文档数量 db.users.count();// 查询年龄大于 30 的文档的个数 db.users.count({ age: { $gt: 10 } }); db.users.find({ age: { $gt: 10 } }).count()// 这里要使用聚合aggregate$match的意思和find一样 db.collection_name.aggregate([{ $match: { name: Tom } },{ $count: total } ])3、聚合查询 聚合操作符 符号说明$sum计算和$avg计算平均值$min计算最小值$max计算最大值$first取每组中的第一个文档$last取每组中的最后一个文档$push将每组中的某个值添加到数组中$addToSet将每组中的唯一值添加到数组中去重$count计算文档数量 算数操作符 符号说明$add两个数、日期、时间相加$subtract两个数、日期、时间相减$multiply两个数相乘$divide两个数相除$mod两个数取余$abs数字的绝对值$ceil数字向上取整$floor数字向下取整$exp返回 e自然对数的底数取指定数字次方的值$ln数字的自然对数$log数字以指定底数为底的对数$log10数字以10为底的对数$pow指定数字的指定次方的值$sqrt数字的平方根$trunc数字截断为整数的值删除小数部分 $match $match 是 MongoDB 聚合管道中的一个重要阶段用于筛选文档仅输出符合指定条件的文档。它的作用类似于 find 操作但它是聚合管道的一部分通常用于数据预处理和过滤以便后续阶段能够处理更少、更相关的数据。 语法 db.collection_name.aggregate([{ $match: { query } } ])// query标准的查询条件类似于 find 方法中的查询条件。3.1、查询用户表中nametom的文档 db.users.aggregate([{ $match: { name: Tom } } ])3.2、查询订单表中 amount大于 300 的订单 db.orders.aggregate([{ $match: { amount: { $gt: 300 } } } ])3.3、查询订单中 status 1 并且 amount 大于 300 的订单 db.orders.aggregate([{ $match: { $and: [ { status: A }, { amount: { $gt: 300 } } ] } } ])3.4、内嵌查询 db.orders.aggregate([{ $match: { address.city: New York } } ])3.5、查找 amount 大于 200 的订单并按 amount 降序排序 db.orders.aggregate([{ $match: { amount: { $gt: 200 } } },{ $sort: { amount: -1 } } ])4、分组查询group 有sales集合数据如下: [{ _id: 1, item: apple, price: 10, quantity: 2, date: 2023-01-01 },{ _id: 2, item: banana, price: 5, quantity: 10, date: 2023-01-01 },{ _id: 3, item: apple, price: 10, quantity: 5, date: 2023-01-02 },{ _id: 4, item: banana, price: 5, quantity: 7, date: 2023-01-02 },{ _id: 5, item: orange, price: 8, quantity: 8, date: 2023-01-03 } ]4.1、按 item 字段分组并计算总销售量 db.sales.aggregate([{$group: {_id: $item,totalQuantity: { $sum: $quantity }}} ])结果 [{ _id: apple, totalQuantity: 7 },{ _id: banana, totalQuantity: 17 },{ _id: orange, totalQuantity: 8 } ]4.2、按 date 字段分组并计算总销售额 db.sales.aggregate([{$group: {_id: $date,totalSales: { $sum: { $multiply: [$price, $quantity] } }}} ])结果 [{ _id: 2023-01-01, totalSales: 70 },{ _id: 2023-01-02, totalSales: 85 },{ _id: 2023-01-03, totalSales: 64 } ]4.3、按 item 分组并计算每种商品的平均价格和总销售量 db.sales.aggregate([{$group: {_id: $item,avgPrice: { $avg: $price },totalQuantity: { $sum: $quantity }}} ])结果 [{ _id: apple, avgPrice: 10, totalQuantity: 7 },{ _id: banana, avgPrice: 5, totalQuantity: 17 },{ _id: orange, avgPrice: 8, totalQuantity: 8 } ]4.4、按 item 分组并创建一个包含所有销售日期的数组 db.sales.aggregate([{$group: {_id: $item,dates: { $push: $date }}} ])结果 [{ _id: apple, dates: [2023-01-01, 2023-01-02] },{ _id: banana, dates: [2023-01-01, 2023-01-02] },{ _id: orange, dates: [2023-01-03] } ]4.5、按 item 分组并创建一个包含唯一销售日期的数组 db.sales.aggregate([{$group: {_id: $item,uniqueDates: { $addToSet: $date }}} ])结果 [{ _id: apple, uniqueDates: [2023-01-01, 2023-01-02] },{ _id: banana, uniqueDates: [2023-01-01, 2023-01-02] },{ _id: orange, uniqueDates: [2023-01-03] } ]4.6、查询结果后再分组 db.sales.aggregate([{ $match: { item: apple } },{$group: {_id: $date,totalQuantity: { $sum: $quantity },avgPrice: { $avg: $price }}} ])结果 [{ _id: 2023-01-01, totalQuantity: 2, avgPrice: 10 },{ _id: 2023-01-02, totalQuantity: 5, avgPrice: 10 } ]4.7、对分组结果进行排序 db.sales.aggregate([{$group: {_id: $item,totalQuantity: { $sum: $quantity }}},{ $sort: { totalQuantity: -1 } } ])结果 [{ _id: banana, totalQuantity: 17 },{ _id: apple, totalQuantity: 7 },{ _id: orange, totalQuantity: 8 } ]2、插入 插入单个文档插入一条数据 insertOne // 语法 db.collection_name.insertOne({})// 示例 db.users.insertOne({name: Tom,age: 30,email: tomexample.com })插入多个文档插入多条数据 insertMany // 语法 db.collection_name.insertMany([{}, {} ])// 示例 db.orders.insertMany([{ item: book, qty: 10, price: 15 },{ item: pen, qty: 20, price: 1.5 } ])3、修改 更新一条文档修改一条数据 updateOne 更新 name 为 “Alice” 的文档的 age 字段 db.users.updateOne({ name: Alice },{ $set: { age: 26 } } )如果没有找到文档则插入一个新文档 upsert: true db.users.updateOne({ name: Charlie },{ $set: { age: 35 }, $setOnInsert: { createdAt: new Date() } },{ upsert: true } )更新多个文档修改多条数据 updateMany 1.将所有 age 小于 30 的用户的 status 更新为 “young” db.users.updateMany({ age: { $lt: 30 } },{ $set: { status: young } } )2.如果没有找到文档则插入一个新文档 upsert: true db.users.updateMany({ status: inactive },{ $set: { status: active } },{ upsert: true } )替换文档中的所有字段值 replaceOne 1.用新文档替换 name 为 “Alice” 的文档 db.users.replaceOne({ name: Alice },{ name: Alice, age: 27, status: active } )2.如果没有找到文档则插入一个新文档 upsert: true db.users.replaceOne({ name: David },{ name: David, age: 40, status: new },{ upsert: true } )重命名字段 $rename db.users.updateOne({ name: Alice },{ $rename: { address.city: address.town } } )向文档中添加时间字段时间为当前时间 $currentDate db.users.updateOne({ name: Alice },{ $currentDate: { create_time: true } } )向文档中的数组插入数据 $addToSet db.users.updateOne({ name: Tom },{ $addToSet: { address: Shenzhen } } )从文档数组中移除数据 $pull db.users.updateOne({ name: Tom },{ $pull: { address: Shenzhen } } )4、删除 删除一个文档删除一条数据 deleteOne db.users.deleteOne({ name: Tom }) 删除多个文档删除多条数据 deleteMany // 删除所有 age 小于 30 的文档 db.users.deleteMany({ age: { $lt: 30 } })删除集合包括集合中的所有文档删除表 // 语法 db.collection_name.drop()// 示例 db.users.drop()删除集合中的所有文档保留集合 db.users.deleteMany({}) 5、计划查询 有users集合数据如下 [{ _id: 1, name: Alice, age: 25, address: { city: New York, state: NY }, score: 80 },{ _id: 2, name: Bob, age: 30, address: { city: Los Angeles, state: CA }, score: 90 } ]查询结果只返回指定字段 投影 db.users.aggregate([{$project: {name: 1,age: 1}} ])结果 [{ _id: 1, name: Alice, age: 25 },{ _id: 2, name: Bob, age: 30 } ]查询结果不返回指定字段 投影 db.users.aggregate([{$project: {address: 0}} ])结果 [{ _id: 1, name: Alice, age: 25, score: 80 },{ _id: 2, name: Bob, age: 30, score: 90 } ]重命名字段 db.users.aggregate([{$project: {username: $name,age: 1}} ])结果 [{ _id: 1, username: Alice, age: 25 },{ _id: 2, username: Bob, age: 30 } ]计算新字段 计算新的字段 discountedScore其值为 score 的 90% db.users.aggregate([{$project: {name: 1,age: 1,discountedScore: { $multiply: [$score, 0.9] }}} ])结果 [{ _id: 1, name: Alice, age: 25, discountedScore: 72 },{ _id: 2, name: Bob, age: 30, discountedScore: 81 } ]只显示指定的嵌套字段 db.users.aggregate([{$project: {name: 1,age: 1,address.city: 1}} ])结果java [{ _id: 1, name: Alice, age: 25, address: { city: New York } },{ _id: 2, name: Bob, age: 30, address: { city: Los Angeles } } ]6、多表连接查询 $lookup 两张集合关联查询 有两个集合 orders 订单表和 products 产品表orders 集合中的文档中的 productId 字段指向 products 集合中 _id 字段数据内容如下 // orders 集合 { _id: 1, productId: 101, quantity: 2 } { _id: 2, productId: 102, quantity: 1 }// products 集合 { _id: 101, name: Widget, price: 19.99 } { _id: 102, name: Gadget, price: 29.99 }内联查询语句 db.orders.aggregate([{$lookup: {from: products,localField: productId,foreignField: _id,as: productDetails}} ])参数说明 db.orders.aggregate([…])aggregate 方法在 orders 集合上运行。这意味着整个聚合管道操作是针对 orders 集合的。 from指定要连接的目标集合的名称。示例中我们是从 products 集合中查询关联数据。 localField指定当前集合orders源集合中用于连接的字段名称。示例中和products关联的是productId字段。 foreignField指定目标集合from 集合中用于连接的字段名称示例中和orders关联的是_id字段。 三张集合关联查询 orders 订单表和 products 表关联products 表和 categories 关联数据内容如下 // orders 订单表 { _id: 1, productId: 101, quantity: 2 } { _id: 2, productId: 102, quantity: 1 }// products 产品表 { _id: 101, categoryId: 201, name: Widget } { _id: 102, categoryId: 202, name: Gadget }// categories 产品类别表 { _id: 201, name: Electronics } { _id: 202, name: Home Goods }内联查询语句 db.orders.aggregate([{$lookup: {from: products,localField: productId,foreignField: _id,as: productDetails}},{$lookup: {from: categories,localField: productDetails.categoryId,foreignField: _id,as: productDetails.categoryDetails}} ])外联查询 $unwind $unwind 是 MongoDB 聚合管道中的另一个操作符用于将数组字段展开成多个文档。如果在使用 $lookup 时目标集合的字段是一个数组如上面的例子中 productDetails 是一个数组使用 $unwind 可以将每个数组元素展开为独立的文档。 示例一配置 $lookup 使用 db.orders.aggregate([{$lookup: {from: products,localField: productId,foreignField: _id,as: productDetails}},{$unwind: $productDetails} ])示例二展开数组 有如下基础数据 db.users.insertMany([{ _id: 1, name: Alice, address: [广州, 北京, 杭州] },{ _id: 2, name: Bob, address: [上海, 武汉] },{ _id: 3, name: Charlie, address: [] } ])外联查询语句 db.users.aggregate([{ $unwind: $address } ])查询结果 [{ _id: 1, name: Alice, address: 广州 },{ _id: 1, name: Alice, address: 北京 },{ _id: 1, name: Alice, address: 杭州 },{ _id: 2, name: Bob, address: 上海 },{ _id: 2, name: Bob, address: 武汉 } ]
http://www.w-s-a.com/news/916721/

相关文章:

  • 主机屋的免费空间怎么上传网站广告公司的经营范围有哪些
  • 门户网站建设公司案例门户建设是什么意思
  • 深圳seo专家东莞网站关键词优化排名
  • 套用别人产品图片做网站如何在阿里云自主建网站
  • 网站开发需要用哪些东西wordpress页面参数
  • 大连模板网站制作哪家好wordpress 安装不上
  • 宝塔搭建网站首页图片点击率如何提高
  • 长沙找人做网站wordpress如何安装模板
  • 比较好的国外网站建设公司wordpress短代码可视化
  • 做新的网站网站个性化
  • 吉安做网站的英文网站 字体大小
  • 外贸网站服务商wordpress主题handsome
  • 云主机多个网站如何优化网站图片
  • 松江移动网站建设成都app开发制作公司
  • 锦州做网站的公司百度seo搜索营销新视角
  • 做画册找什么网站海南建设工程股份有限公司网站
  • 网站机房建设有助于网站备案
  • 北辰苏州网站建设抖音代运营投诉平台
  • 安徽住房与城乡建设部网站如何新建站点
  • 企业网站开发的感想网站开发公司所需投入资源
  • 如何拿网站后台账号wordpress 电影下载站源码
  • 公司网站建设方案书安卓应用市场免费下载安装
  • phpmysql网站设计建设好一个网站需要
  • 自己做的网站能被别人看到吗idea怎么做网页
  • 燕莎网站建设互联网排名前十的公司2021
  • 微软云怎么做网站微商城和小程序区别
  • 哈尔滨建站的系统网站到首页排名
  • 运动网站开发的需求分析南通市住房和城乡建设局网站
  • 佘山做网站谷歌云做网站
  • 免费发布信息网站大全666做p2p网站费用