首页 > 数据库 >mongodb学习经验

mongodb学习经验

时间:2022-09-22 15:03:57浏览次数:58  
标签:insert 经验 ObjectId mongodb db 学习 docs print id

1、ObjectId与String相互转换

ObjectId类型 —→ String类型
这个非常简单,直接强制类型转换就可以了
_id = str(ObjectId('类型'))

String类型 —→ ObjectId类型
from bson.objectid import ObjectId
_id = ObjectId("字符串")

2、连接数据库

# 一、AsyncIOMotorClient 异步
DB_CLIENT = AsyncIOMotorClient('127.0.0.1', 27017)
db = DB_CLIENT['xy']  # 库名称

# 二、pymongo 同步
server = "mongodb://127.0.0.1:27017"
conn = pymongo.MongoClient(server)
db1 = conn["xy"]
xyuser = db1.get_collection('xyuser')

3、常用

一、ObjectId返回前端后,可以传参过来直接在_id字段使用
async def mongodb(oid: str, request: Request):
    oid = ObjectId('632bd220c66f6b200868ed6c')
    cursor = db.user.find({'_id': {'$eq': oid}})  # 返回cursor
    docs = await cursor.to_list(None)             # 注意cursor的处理
    print(str(docs[0].get('_id')))

二、插入多个值,返回_id列表
    docs = await Userorg.all().values()
    print(docs)
    insert_many = await db.userorg.insert_many(docs)
    print(insert_many.inserted_ids)
    return {'msg': repr(len(insert_many.inserted_ids))}

三、插入和返回多个值
    result = await db.test.insert_many(
        [{'i': i} for i in range(200000)])
    async for document in db.xyuser.find():
        print(document)
    print('inserted %d docs' % (len(result.inserted_ids),))

 

标签:insert,经验,ObjectId,mongodb,db,学习,docs,print,id
From: https://www.cnblogs.com/pearlcity/p/16719291.html

相关文章

  • ABP-VNEXT 学习笔记(六)事件总线--本地事件总线2
    在上一篇中,我们学习介绍了Abp本地事件的基础应用,但都没有涉及到数据库层面的执行。在数据操作上,abp也提供了很好的事件处理机制,针对数据的增删改操作默认发布了事件,我们只......
  • 基于深度强化学习的交通信号灯控制从入门到放弃(持续更新)
    目录理论书籍博客代码论文理论书籍博客MARL多智能体强化学习分享KDDCUP2021参赛感悟及论文解读代码论文......
  • Flask 学习-1.简介与环境准备
    前言Flask是由python开发的轻量的web框架,小巧,灵活,一个脚本就可以启动一个web项目,上手非常容易。Flask和Django框架对比Django:大而全,有一套完整的框架,但是耦合性高......
  • java学习笔记25
    java数组数组的定义数组是相同类型数据的有序集合。数组描述的是相同类型的若干个数据按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素......
  • java学习笔记26
    java数组数组的使用普通的for循环publicclassDemo03{  publicstaticvoidmain(String[]args){    int[]arrays={1,2,3,4,5};    //打印......
  • 使用 BigQuery ML 的自动化机器学习 (AutoML)。轻松启动机器学习并验证 ML 是否值得投
    使用BigQueryML的自动化机器学习(AutoML)。轻松启动机器学习并验证ML是否值得投资。机器学习在许多行业中变得越来越流行,从金融到营销再到医疗保健。但让我们面对......
  • 学习Java Day1
    Markdown学习Day1笔记划线层级标题+空格井号的多少表示层级的大小字体粗体为文字前后输入各两个“星号”——**斜体为文字前后输入各一个“星号”——*斜体......
  • 无旋树堆(FHQ-Treap)学习笔记
    简介无旋树堆(一般统称\(\text{FHQ-Treap}\)),是一种平衡树。可以用很少的代码达到很优秀的复杂度。前置知识:二叉搜索树\(\text{BST}\)\(\text{Treap}\)基本知识......
  • 类型推导--Effective modern C++ 学习笔记
    类型推导--EffectivemodernC++学习笔记auto和template虽然用起来很爽,但是作为程序员我们应该了解C++编译器做了哪些事情,从而确实的保证整套机制能够顺利的运作。1.模......
  • 再次学习忘却
    再次学习忘却PhotobyProcreator用户体验设计工作室on不飞溅我已经使用HTML/CSS/JS开发Web应用程序超过9个月了。所有这些努力都得到了回报,并让我获得了实......