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

mongodb的python访问_python 连接mongodb 使用

1 连接

import pymongo

mongo_client=pymongo.MongoClient(host='localhost',port=27017)

db=mongo_client.myip

table=db.myabac

2 添加数据

table.insert( { item : "card", qty : 15 })

插入指定 _id 字段的文档,值 _id 必须在集合中唯一,以避免重复键错误,代码如下:

> table.insert(

{ _id: 10, item: "box", qty: 20 }

)

> table.find()

{ "_id" : 10, "item" : "box" , "qty": 20 }

插入的多个文档无须具有相同的字段。例如,下面代码中的第一个文档包含一个 _id 字段和一个 type 字段,第二个和第三个文档不包含 _id 字段。因此,在插入过程中,MongoDB 将会为第二个和第三个文档创建默认 _id 字段,代码如下:

db.test.insert(

[

{ _id: 11, item: "pencil", qty: 50, type: "no.2" },

{ item: "pen", qty: 20 },

{ item: "eraser", qty: 25 }

]

)

查询验证,可以看到在 _id 插入期间,系统自动为第二、第三个文档创建了字段,代码如下:

> table.find()

{ "_id" : 11, "item" : "pencil", "qty" : 50, "type" : "no.2" }

{ "_id" : Objectld("5bacf31728b746e917e06b27"), "item" : "pen", "qty" : 20 }

{ "_id" : Objectld("5bacf31728b746e917e06b28"), "item" : "eraser", "qty" : 25 }

有序地插入多条文档的代码如下:

> table.insert([

{_id:10, item:"pen", price:"20" },

{_id:12, item:"redpen", price: "30" },

{_id:11, item:"bluepen", price: "40" }

],

{ordered:true}

)

在设置 ordered:true 时,插入的数据是有序的,如果存在某条待插入文档和集合的某文档 _id 相同的情况,_id 相同的文档与后续文档都将不再插入。在设置 ordered:false 时,除了出错记录(包括 _id 重复)外其他的记录继续插入。

使用 insertOne() 插入一条文档的代码如下:

table.iusertone( { item: "card", qty: 15 } );

使用 insertMany() 插入多条文档的代码如下:

table.insertMany([

{ item: "card", qty: 15 },

{ item: "envelope", qty: 20 },

{ item: "stamps", qty:30 }

]);

给表添加有效期索引设置有效期间

table.create_index([("timer2", 1)], expireAfterSeconds=10)

from datetime import datetime

table.insert({"timer2": datetime.utcnow(), "user": "Hehehehe!"})

重建索引

(1)获取所有索引

db.test.getIndexes()

(2)删除所有索引

db.test.dropIndexes()

(3)更改索引过期时间

db.runCommand({collMod:"test",index:{keyPattern:{createdAt:1},expireAfterSeconds:0}})

其它相关命令

相关文章:

  • 实现去哪网中的头部布局
  • 向量点积衡量相似度_点积相似度、余弦相似度、欧几里得相似度
  • document.querySelector()与document.querySelectorAll()
  • html5静默打印_解答:如何实现在打印窗体内容是不弹出打印设置框从而实现静默打印的呢?...
  • Windows下vue-cli脚手架搭建入门一
  • cython 安装升级_20个小招数教你如果快速完成Python 性能优化升级
  • [NOI 2016]循环之美
  • finereport连接oracle_FineReport连接多维数据库示例及操作
  • linux 扩展挂载盘大小_Linux下使用fdisk扩展分区容量
  • JavaScript (function (){}()) 与(function(){})()
  • python assert 不退出_Pytest中断言的重要性,就不需要我重复了吧
  • IDEA中Lombok插件的安装与使用
  • python坦克大战_python资料领取:尚学堂201903期python全栈(0基础到就业)
  • 【leetcode】88. 合并两个有序数
  • aix么把占用的端口释放掉_UNIX系统如何释放被异常占用的端口 - 河北分行(秦永峰)...
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • Angular 2 DI - IoC DI - 1
  • C++11: atomic 头文件
  • co模块的前端实现
  • GitUp, 你不可错过的秀外慧中的git工具
  • GraphQL学习过程应该是这样的
  • input的行数自动增减
  • JavaScript设计模式与开发实践系列之策略模式
  • MaxCompute访问TableStore(OTS) 数据
  • React-生命周期杂记
  • 盘点那些不知名却常用的 Git 操作
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 详解NodeJs流之一
  • 小试R空间处理新库sf
  • 用 Swift 编写面向协议的视图
  • nb
  • 数据可视化之下发图实践
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​MySQL主从复制一致性检测
  • #宝哥教你#查看jquery绑定的事件函数
  • (ZT) 理解系统底层的概念是多么重要(by趋势科技邹飞)
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (算法)Game
  • (图)IntelliTrace Tools 跟踪云端程序
  • (转)3D模板阴影原理
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .net 8 发布了,试下微软最近强推的MAUI
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET4.0并行计算技术基础(1)
  • .net程序集学习心得
  • :not(:first-child)和:not(:last-child)的用法
  • [202209]mysql8.0 双主集群搭建 亲测可用
  • [AIGC] Java 和 Kotlin 的区别
  • [AutoSar NVM] 存储架构
  • [BJDCTF2020]The mystery of ip1
  • [BSGS算法]纯水斐波那契数列
  • [bzoj2957]楼房重建
  • [BZOJ5250][九省联考2018]秘密袭击(DP)