首页 > 数据库 >Mongodb 常见操作:查询,排序,查看索引,创建索引等

Mongodb 常见操作:查询,排序,查看索引,创建索引等

时间:2024-09-25 20:05:47浏览次数:6  
标签:orderId insert item Mongodb db customerCode 索引 books 排序

//insert
db.books.insert(
[
{ _id: 12, item: "pencil1", qty: 51, type: "no.1" },
{ _id: 21, item: "pencil1", qty: 52, type: "no.2" },
{ _id: 31, item: "pencil1", qty: 53, type: "no.3" },
]
)

db.books.insert([
{ 3 "title" : "book-51", 4 "type" : "technology", 5 "favCount" : 11, 6 "tag":[],
"author" : {
"name" : "fox",
"age" : 28
}
},{
"title" : "book-52",
"type" : "technology",
"favCount" : 15,
"author" : {
"name" : "fox",
"age" :
}
},{
"title" : "book-53",
"type" : "technology",
"tag" : [
"nosql",
"document"
],
"favCount" : 20,
"author" : {
"name" : "fox",
"age" : 28
}
}])

//$project 投影别名 聚合操作
db.books.find()
db.books.aggregate([{$project:{name:"$item",_id:0,type2:1}}])

//$group
db.books.aggregate([
{$group:{_id:"$item",total:{$sum: 1}}},
{$sort:{total: -1}}
])

//$match
db.books.aggregate([{$match:{"item":"pencil1"}}])

//$count
db.books.aggregate([
{$match:{type:"pencil1"}},
{$count: "qty"}])

//$ join
db.customer.aggregate([
{$lookup:{
from: "order",
localField: "customerCode",
foreignField: "customerCode",
as: "customerOrder"
}
}])

db.order.aggregate([
{$lookup:{
from: "customer",
localField: "customerCode",
foreignField: "customerCode",
as: "customer"
}
},
{$lookup:{
from: "orderItem",
localField: "orderId",
foreignField: "orderId",
as: "orderItem"
}
}
])

db.customer.insert({customerCode:1,name:"customer1",phone:"13112345678",address:"test1"
})

db.customer.insert({customerCode:2,name:"customer2",phone:"13112345679",address:"test2"
})
db.order.insert({orderId:1,orderCode:"order001",customerCode:1,price:200})
db.order.insert({orderId:2,orderCode:"order002",customerCode:2,price:400})
db.orderItem.insert({itemId:1,productName:"apples",qutity:2,orderId:1})
db.orderItem.insert({itemId:2,productName:"oranges",qutity:2,orderId:1})
db.orderItem.insert({itemId:3,productName:"mangoes",qutity:2,orderId:1})
db.orderItem.insert({itemId:4,productName:"apples",qutity:2,orderId:2})
db.orderItem.insert({itemId:5,productName:"oranges",qutity:2,orderId:2})
db.orderItem.insert({itemId:6,productName:"mangoes",qutity:2,orderId:2})

$sort
db.books.find().sort({qty:-1})
db.books.find().sort({qty:-1}).explain()

$使用mongoimport工具导入数据
mongoimport -h 192.168.65.1 -d test -u user -p pwd --authenticationDatabase=admin -c
zips --file D:\ProgramData\mongodb\import\zips.json

db.books.aggregate([{$match:{item:"pencil1"}}]).explain()
db.books.find({$match:{item:"pencil1"}}).explain()

$createIndex()
db.books.createIndex({item:1})
db.books.find({item:"pencil1"}).explain()

db.books.createIndex({type:1,item:1})
db.books.find({qty:{$gt:51}})

标签:orderId,insert,item,Mongodb,db,customerCode,索引,books,排序
From: https://www.cnblogs.com/chenshaojun2008/p/18432062

相关文章

  • Elasticsearch知识整理(包含与mongoDb的区别)
    Elasticsearch概念整理Elasticsearch是位于ElasticStack核心的分布式搜索和分析引擎。Logstash和Beats有助于收集、聚合和丰富您的数据并将其存储在Elasticsearch中。Kibana使您能够以交互方式探索、可视化和分享对数据的见解,并管理和监控堆栈。Elasticsearch......
  • InfluxQL语法与用法及其与SQL和MongoDB的区别
    InfluxQL是一种用于InfluxDB的查询语言,语法上与SQL相似,但专为时间序列数据优化。它使用SELECT、FROM、WHERE等关键字来查询数据。与SQL相比,InfluxQL有更强的时间维度处理功能,例如使用GROUPBYtime()来聚合数据。与MongoDBAPI相比,InfluxQL更注重数据的时间序列特性,而MongoDB则专注......
  • Flutter 自定义国家选择器:基于 A ~ Z字母索引的列表跳转与侧边栏导航实现
    在许多移动应用中,我们经常需要通过字母索引快速跳转到目标位置,比如通讯录、国家选择等功能。这篇博客将带大家实现一个仿照通讯录的Flutter国家选择器。通过一个字母索引的侧边栏,用户可以快速跳转到目标字母分组。效果:1.项目需求与设计思路我们需要实现一个包含多个国......
  • node/expressjs 连接与操作 MongoDB
    MongoDB 的安装、配置、启动、常见指令等,详见上一节“mongoDB简介” 以下将讲述 node/expressjs 与 mongoDB 的交互——连接与操作数据库 mongoDB注释:以下示例是采用express官网的生成器初始化项目的。数据库 mongoDB的操作运用的是mongoose插件, mong......
  • mongoDB 简介
    参考文档 https://www.runoob.com/mongodb/mongodb-tutorial.htmlmongoDB菜鸟教程https://mongodb.net.cn/manual/mongoDB中文官网 1. mongoDB 概述MongoDB是一个流行的开源文档型数据库,它使用类似JSON的文档模型存储数据,这使得数据......
  • Docker 运行 MongoDB
    Docker运行MongoDB实验环境宿主机:CentOSStreamrelease9Docker:DockerEngine27.3.1MongoDB:7.0.14Mongosh;2.3.1配置文件mongod.conf[karma@localhostkarmamongodb]$catmongod.conf|grep-vE"#|^$"storage:dbPath:/var/lib/mongodbsystemLog:des......
  • 大数据-137 - ClickHouse 集群 表引擎详解2 - MergeTree 存储结构 一级索引 跳数索引
    点一下关注吧!!!非常感谢!!持续更新!!!目前已经更新到了:Hadoop(已更完)HDFS(已更完)MapReduce(已更完)Hive(已更完)Flume(已更完)Sqoop(已更完)Zookeeper(已更完)HBase(已更完)Redis(已更完)Kafka(已更完)Spark(已更完)Flink(已更完)ClickHouse(正在更新···)章节内容上节我们完成了如下的内容:表引擎详解介绍日志......
  • 【Elasticsearch系列七】索引 crud
    ......
  • SQL Server的Descending Indexes降序索引
    SQLServer的DescendingIndexes降序索引 SQLServer的DescendingIndexes降序索引   背景索引是关系型数据库中优化查询性能的重要手段之一。对于需要处理大量数据的场景,合理的索引策略能够显著减少查询时间。特别是在涉及多字段排序的复杂查询中,选择合适的索引类型......
  • MongoDB 双活集群在运营商的实践
    在现代电信行业中,订单中心作为核心业务系统之一,承担着处理客户订单、管理订单状态、与各个业务系统进行交互等重要职责。其订单中心的高效运作直接关系到客户体验和业务连续性。为了满足不断增长的业务需求和日益复杂的运营环境,运营商需要自身的订单中心架构具备高可用性及强大的......