前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB入门笔记

MongoDB入门笔记

作者头像
编程随想曲
发布2022-04-21 13:59:12
2150
发布2022-04-21 13:59:12
举报
文章被收录于专栏:编程随想曲

环境

MacOS10.14.4

安装

代码语言:javascript
复制
brew tap mongodb/brew
brew install mongodb-community@4.0

运行

in the foreground

代码语言:javascript
复制
mongod --config /usr/local/etc/mongod.conf

as a macOS service

代码语言:javascript
复制
brew services start mongodb-community@4.0

检查mongodb是否在运行

代码语言:javascript
复制
ps aux | grep -v grep | grep mongod

You can also view the log file to see the current status of your mongod process:

代码语言:javascript
复制
 /usr/local/var/log/mongodb/mongo.log

相关路径

代码语言:javascript
复制
the configuration file (/usr/local/etc/mongod.conf)
the log directory path (/usr/local/var/log/mongodb)
the data directory path (/usr/local/var/mongodb)

连接并使用

代码语言:javascript
复制
mongo

查看版本

代码语言:javascript
复制
./mongo --version

查看所有数据库

代码语言:javascript
复制
show dbs

查看当前数据库

代码语言:javascript
复制
db

切换数据库

代码语言:javascript
复制
use dbname

查看所有集合

代码语言:javascript
复制
show collections

基本操作

1.Create 增

插入一个

代码语言:javascript
复制
db.inventory.insertOne(
   { item: "canvas", qty: 100, tags: ["cotton"], size: { h: 28, w: 35.5, uom: "cm" } }
)

插入多个

代码语言:javascript
复制
db.inventory.insertMany([
   { item: "journal", qty: 25, tags: ["blank", "red"], size: { h: 14, w: 21, uom: "cm" } },
   { item: "mat", qty: 85, tags: ["gray"], size: { h: 27.9, w: 35.5, uom: "cm" } },
   { item: "mousepad", qty: 25, tags: ["gel", "blue"], size: { h: 19, w: 22.85, uom: "cm" } }
])

2.Read 查

查询单个

代码语言:javascript
复制
db.inventory.find( { item: "canvas" } )

查询所有

代码语言:javascript
复制
db.inventory.find( {} )

利用操作符指定查询条件

代码语言:javascript
复制
db.inventory.find( { status: { $in: [ "A", "D" ] } } )
含义等价于
SELECT * FROM inventory WHERE status in ("A", "D")

AND

代码语言:javascript
复制
db.inventory.find( { status: "A", qty: { $lt: 30 } } )
含义等价于
SELECT * FROM inventory WHERE status = "A" AND qty < 30

OR

代码语言:javascript
复制
db.inventory.find( { $or: [ { status: "A" }, { qty: { $lt: 30 } } ] } )
含义等价于
SELECT * FROM inventory WHERE status = "A" OR qty < 30

AND OR

代码语言:javascript
复制
db.inventory.find( {
     status: "A",
     $or: [ { qty: { $lt: 30 } }, { item: /^p/ } ]
} )
含义等价于
SELECT * FROM inventory WHERE status = "A" AND ( qty < 30 OR item LIKE "p%")

3.Update 改

update one

代码语言:javascript
复制
db.inventory.updateOne(
   { item: "paper" },
   {
     $set: { "size.uom": "cm", status: "P" },
     $currentDate: { lastModified: true }
   }
)

update many

代码语言:javascript
复制
db.inventory.updateMany(
   { "qty": { $lt: 50 } },
   {
     $set: { "size.uom": "in", status: "P" },
     $currentDate: { lastModified: true }
   }
)

replace one

代码语言:javascript
复制
db.inventory.replaceOne(
   { item: "paper" },
   { item: "paper", instock: [ { warehouse: "A", qty: 60 }, { warehouse: "B", qty: 40 } ] }
)

嵌套查询例子

代码语言:javascript
复制
{a:"",b:"",c:{d:"",e:{f:""}}}}

e作为查询条件查询

代码语言:javascript
复制
find({c.e.f:""})

4.Delete 删

delete all

代码语言:javascript
复制
db.inventory.deleteMany({})

delete many

代码语言:javascript
复制
db.inventory.deleteMany({ status : "A" })

delete one

代码语言:javascript
复制
db.inventory.deleteOne( { status: "D" } )

References

[1] Install MongoDB Community Edition on macOS: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/ [2] insert-documents: https://docs.mongodb.com/manual/tutorial/insert-documents/ [3] query-documents: https://docs.mongodb.com/manual/tutorial/query-documents/ [4] update-documents: https://docs.mongodb.com/manual/tutorial/update-documents/ [5] remove-documents: https://docs.mongodb.com/manual/tutorial/remove-documents/ [6] MongoDB数据库命令行操作: https://blog.csdn.net/qq_33036599/article/details/83061446

[7] 题图: https://unsplash.com/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 编程随想曲 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境
  • 安装
  • 运行
  • 检查mongodb是否在运行
  • 相关路径
  • 连接并使用
  • 基本操作
  • 1.Create 增
  • 2.Read 查
  • 3.Update 改
  • 4.Delete 删
    • References
    相关产品与服务
    数据库
    云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档