芒果db入门笔记

1.创建数据库
use qxdb   --删除 db.dropDatabase()
添加用户
db.createUser({user:"cy",pwd:"654321",roles:[{role:"readWrite",db:"qxdb"}]})


2.创建集合(类似关系型db的表)
db.createCollection("clt_user")
查看集合
show collections
删除集合
db.clt_user.drop()


3.文档(类似于关系型db的行记录)的增删改查
3.1插入
db.clt_user.insert({"name":"aa"})
db.clt_user.insert({"name":"bb","sal":1000})
db.clt_user.insert({"name":"cc","addr":"sz","sal":5000,"tags":["a","b","c"]})
3.1.1变量插入
docu=({"name":"dd","addr":"sz","sal":5000,"tags":["a","b","c"]})
db.clt_user.insert(docu)


3.2更改(如不带multi选项的话,只会修改最先发现的文档)
db.clt_user.update({"name":"cc","sal":5000},{$set:{"addr":"nj","tags":["a","b","c"]}},{multi:true})


3.3删除
db.clt_user.remove({"name":"cc","sal":5000})
db.clt_user.remove({"name":"cc","sal":5000},justone=true) 或者db.clt_user.remove({"name":"cc","sal":5000},1) 


3.4查询
db.clt_user.find(query)   --pretty()格式化选项


3.4.1范围查询
----- e为=
>= $gte
<= $lte
查询sal >1000且 <=5000的例子,注意插入时候的数据类型
db.clt_user.find({"sal": {$gt:1000,$lte:5000} })


3.4.2类型匹配 详细参见数据类型表
db.clt_user.find({"sal":{$type:2}})


3.4.3limit限制(类似于mysql的limit)
db.clt_user.find({"name":"cc"}).limit(2)


3.4.4skip跳过文档
db.clt_user.find({"name":"cc"}).skip(2)


3.4.5排序 1升序,-1降序
db.clt_user.find({"name":"cc"}).sort({"sal":1})

### MongoDB 数据库使用指南 #### 连接到 MongoDB 数据库实例 当 MongoDB 服务启动成功之后,可以利用多种方法通过客户端连接到数据库并执行各种操作[^2]。对于 Python 用户来说,可以通过 `pymongo` 库来实现这一目标: ```python from pymongo import MongoClient client = MongoClient('mongodb://localhost:27017/') db = client['mydatabase'] ``` 这段代码实现了与本地运行的 MongoDB 实例建立连接,并选择了名为 `mydatabase` 的数据库;如果此数据库尚不存在,则会在首次写入数据时由 MongoDB 自动创建[^3]。 #### 创建新数据库和集合 由于 MongoDB 支持“按需创建”,因此无需显式声明新的数据库或集合名称——只需指定它们,在实际存储任何文档之前这些实体不会真正存在[^4]。例如,要在一个假设存在的数据库中定义一个新的集合(类似于关系型数据库中的表),只需要如下所示调用即可: ```python collection = db.new_collection_name ``` 这里并没有立即触发物理上的创建动作,而是等待后续的数据插入行为才会正式生成对应的结构。 #### 插入文档至集合内 为了向刚刚提到的新集合里添加记录,可按照下面的方式构建 JSON/BSON 文档对象并通过 insert_one 或者 insert_many 方法将其保存下来: ```python document_to_insert = {"key": "value", "another_key": ["list item 1", "list item 2"]} result = collection.insert_one(document_to_insert) documents_batch = [ {"name": "Alice"}, {"age": 30}, ] results = collection.insert_many(documents_batch) ``` 上述例子展示了如何单独插入单个文档以及批量处理多个文档的情况。 #### 查询现有数据 检索已存于集合内的信息同样重要。可以根据特定条件查找匹配项,也可以获取整个集合的内容: ```python single_document = collection.find_one({"key": "value"}) all_documents = list(collection.find()) filtered_docs = list(collection.find({"age": {"$gt": 25}})) ``` 以上命令分别代表了三种不同类型的查询场景:精确匹配、全量读取及带过滤器的选择性提取。 #### 管理用户权限 除了基本的操作外,安全性和访问控制也是不可忽视的部分。MongoDB 提供了一套完整的机制用于管理和配置用户的认证方式及其拥有的权限级别[^1]。这通常涉及到账户注册、角色分配等一系列设置过程,具体细节取决于部署环境和个人需求。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值