mongo更新与删除集合中的字段python
来源:互联网 发布:php无限极分类实现 编辑:程序博客网 时间:2024/06/07 17:46
因为业务需求,原本的mysql关系型数据库不能再继续沿用,所以公司选择了mongo作为存储。
mongo的CRUD(增删改查)还是很简单的,因为mongo本身用的是dict类型,即key-value。但是在做项目中还是有问题把我困住了,所以我想要把这些问题写出来,以防以后犯错。
我在mongo有这样一张表:
{ "name":"renyuan", "1":[{"id":1,"title":"test1"},{"id":2,"title":"test2"}], "2":[{"id":3,"title":"test3"},{"id":4,"title":"test4"}]} 更新操作
我现在有这一需求:把"id":1中的"title"改为"test5",但是我在明面上是不知道前面"1"这个key的,必须通过一次mysql查询才知道。
所以对于更新,我们有以下代码
已知id和需要修改的title的值 key=getKeyById(id) #得到"id"为1的key值,这里为"1" client = MongoClient('localhost', 27017)#比较常用 test=client.test #test为mongo的db source=test.source #source为mongo test数据库的数据表 source.update_one({key+".id".encode("utf-8"):id},{"$set":{key+".title".encode("utf-8"):title}})这样就可以更新
"1":[{"id":1,"title":"test1"},{"id":2,"title":"test2"}]为
"1":[{"id":1,"title":"test5"},{"id":2,"title":"test2"}]
删除操作
我们现在要删除"id"为1的数据,有以下代码:
source.update_one({"name":"renyuan"},{"$pull":{key:{"id":id}}})这样就可以删除"id"为1的数据,即source表变为
<span style="font-size:14px;">{ "name":"renyuan", "1":[{"id":2,"title":"test2"}], "2":[{"id":3,"title":"test3"},{"id":4,"title":"test4"}]}
0 0
- mongo更新与删除集合中的字段python
- 【Mongo】 批量删除集合
- MongoDB_Java连接mongo 使用Java程序更新集合中的文档
- SpringBoot中Mongo查询条件是集合中的字段的处理
- Hibernate3中的更新与删除
- MySQL中的更新与删除
- mongo shell 之集合&文档 插入&删除
- mongoose删除和更新mongo数据库(二)
- python爬虫中的mongo实践
- 更新数据表中的字段
- Mysql 更新、删除字段、自增长字段
- MongoDB_Java连接mongo 使用Java从集合中删除文档
- 奇怪的Mongo数据库更新操作变成了删除操作
- 删除集合中的元素
- mongo查询某个字段是否存在,并删除记录里的这个字段
- mongo查询某个字段是否存在,并删除记录里的这个字段
- mongo查询某个字段是否存在,并删除记录里的这个字段
- mongo查询某个字段是否存在,并删除记录里的这个字段
- javascript高级选择器querySelector和querySelectorAll
- html 头信息基本内容
- 有史以来性价比最高最让人感动的一次数据库&SQL优化(DB & SQL TUNING)——半小时性能提升千倍
- 4/5邀请赛的选拔赛,闷声滚大粗
- studio项目转到eclipse
- mongo更新与删除集合中的字段python
- php一些基本函数
- Leetcode no. 283
- Android6.0 高通平台 "is 32-bit instead of 64-bit" 问题
- JavaScript如何获得一个DOM元素的绝对位置?(获取元素位置,不依赖框架)
- 设计模式之享元模式
- C++之重载函数
- Spring中如何配置Hibernate事务
- eclipse 里jetty 按Enter键不能重启