插入

import pymongo

conn = pymongo.MongoClient('mongodb://192.168.10.10:27017')
mydb = conn['myDB']
mycol = mydb['users'] # dict = {'name':'jabbok','age':'22','area':'hangzhou'}
# x = mycol.insert_one(dict)
# print(x.inserted_id) list = [
{'name':'jarry','age':'22','area':'hangzhou'},
{'name':'Eric','age':'22','area':'背景'},
{'name':'lee','age':'22','area':'hangzhou'}
]
x = mycol.insert_many(list)
print(x.inserted_ids) >
[ObjectId('5c08da8e0a3abb0a3cfbe5ba'), ObjectId('5c08da8e0a3abb0a3cfbe5bb'), ObjectId('5c08da8e0a3abb0a3cfbe5bc')] #选择操作的服务、db、集合
#插入的数据可以是字典,或者包含多个字典的列表
#如果是一个字典,就是一个文档,就用insert_one,多个就用insert_many
#insert_ids方法会返回每个插入文档的id

  

查询

查询集合中所有数据

import pymongo

conn = pymongo.MongoClient('mongodb://192.168.10.10:27017')
mydb = conn['myDB']
mycol = mydb['users'] ret = mycol.find()
for x in ret:
print(x) >
{'_id': ObjectId('5c08d8590a3abb19f4c81b53'), 'name': 'jabbok', 'age': '22', 'area': 'hangzhou'}
{'_id': ObjectId('5c08da8e0a3abb0a3cfbe5ba'), 'name': 'jarry', 'age': '22', 'area': 'hangzhou'}
{'_id': ObjectId('5c08da8e0a3abb0a3cfbe5bb'), 'name': 'Eric', 'age': '22', 'area': '背景'}
{'_id': ObjectId('5c08da8e0a3abb0a3cfbe5bc'), 'name': 'lee', 'age': '22', 'area': 'hangzhou'} #集合方法find()用于全集合查询,返回一个包含所有字典的列表

  

查询指定字段的数据

ret = mycol.find({},{'_id':0,'area':1})
for x in ret:
print(x)
>
{'area': 'hangzhou'}
{'area': 'hangzhou'}
{'area': '背景'}
{'area': 'hangzhou'}
#指定需要返回的字段,0代表不需要,一代表需要。
#把_id设为0,那么就返回设为1的字段 ret = mycol.find({},{'area':0})
for x in ret:
print(x)
>
{'_id': ObjectId('5c08d8590a3abb19f4c81b53'), 'name': 'jabbok', 'age': '22'}
{'_id': ObjectId('5c08da8e0a3abb0a3cfbe5ba'), 'name': 'jarry', 'age': '22'}
{'_id': ObjectId('5c08da8e0a3abb0a3cfbe5bb'), 'name': 'Eric', 'age': '22'}
{'_id': ObjectId('5c08da8e0a3abb0a3cfbe5bc'), 'name': 'lee', 'age': '22'}
#把某个字段设为0,则不返回这个字段

  

根据指定条件查询

myque = {'area':'hangzhou'}

ret = mycol.find(myque)
for x in ret:
print(x)
#按文档中的field-value进行匹配

  

mongodb-CURD的更多相关文章

  1. MongoDB CURD 介绍

    MongoDB是用JSON格式的field和value成对的documents存储数据,documents类似于编程语言中的key value 键值对(例如:dictionaries,hashes,m ...

  2. spring data mongodb CURD

    一.添加 Spring  Data  MongoDB 的MongoTemplate提供了两种存储文档方式,分别是save和insert方法,这两种的区别: (1)save :我们在新增文档时,如果有一 ...

  3. MongoDB: CURD操作

    >> 创建:·db.foo.insert({"bar":"baz"}) //如果文档中没有"_id"键会自动增加一个·db.fo ...

  4. mongoDB Java SDK CRUD操作例子

    Example:   package com.sdfwerwer.test; import java.net.UnknownHostException; import com.mongodb.Basi ...

  5. python 模块 - pymongo模块

    mongoDB 数据库: pymongo 操作: import pymongo # 连接mongo数据库 client = pymongo.MongoClient(host='localhost', ...

  6. Node.js Learning Paths

    Node.js Learning Paths Node.js in Action Node.js Expert situations / scenario Restful API OAuth 2.0 ...

  7. Mongodb 数据类型及Mongoose常用CURD

    前言 看完了Node.js实战,其中在数据存储部分提到了Redis.Mongodb,我自己也根据书中的介绍写了几个简单的demo,在demo的过程首先遇到的问题就是数据类型和常见的CURD写法. mo ...

  8. MongoDB的安装及CURD操作

    MongoDB的下载地址:http://www.mongodb.org/downloads MongoDB有32bit和64bit两个版本,32bit只能存放2GB数据.我们选择64bit版进行下载. ...

  9. 看门外汉如何实现:C#操作 MongoDB基本CURD的事务控制

    第一部分 基本设计 目前最新版本的C#驱动MongoDB-CSharpDriver-2.2.3,比之前的版本更新比较大,在网上很难找到这个版本的相关C#操作资料,以下都是个人自发研究.测试的,如有雷同 ...

  10. [C#] C# 与 MongoDB 的 CURD

    C# 与 MongoDB 的 CURD static void Main(string[] args) { //建立连接 var client = new MongoClient(); //建立数据库 ...

随机推荐

  1. Break、Continue、Return区别

    1)break     直接跳出当前的循环,从当前循环外面开始执行,忽略循环体中任何其他语句和循环条件测试.他只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来 ...

  2. php设计模式之单例模式实例(设计mysqli连接数据的数据处理类)

    一直在研究php的设计模式,但是没有亲历使用过,所以还是一知半解,通过几天的学习终于对php的单例设计模式稍稍的有些了解,特此写出一个数据库处理类(只涉及到简单的原理),以便自己以后方便查阅,至于其他 ...

  3. LightOJ1259 Goldbach`s Conjecture —— 素数表

    题目链接:https://vjudge.net/problem/LightOJ-1259 1259 - Goldbach`s Conjecture    PDF (English) Statistic ...

  4. Java 使用POI操作EXCEL及测试框架搭建、测试开发的一些想法

    无论是UI自动化测试还是接口自动化测试都需要进行数据驱动,一般很常见的一种方式就是用excel来管理数据,那么就涉及到一些代码对EXCEL的操作,之前我们介绍过用CSV来处理EXCEL,但是它的功能还 ...

  5. 专网IP和公网IP的区别是什么

    专网ip是自己网内用,公网的话就全球有效 最大区别是公网IP世界只有一个,私网IP可以重复,但是在一个局域网内不能重复 访问互联网是需要IP地址的,IP地址又分为公网IP和私网IP,访问互联网需要公网 ...

  6. sublime text3 3176 注册码 License

    注册码 sgbteam Single User License EA7E-1153259 8891CBB9 F1513E4F 1A3405C1 A865D53F 115F202E 7B91AB2D 0 ...

  7. codeforces B. Roma and Changing Signs 解题报告

    题目链接:http://codeforces.com/problemset/problem/262/B 题目意思:给出 n 个数和恰好一共要做的操作总数k.通过对n个数进行k次操作,每次操作可以把a[ ...

  8. BZOJ_1095_[ZJOI2007]Hide 捉迷藏_动态点分治+堆

    BZOJ_1095_[ZJOI2007]Hide 捉迷藏_动态点分治+堆 Description 捉迷藏 Jiajia和Wind是一对恩爱的夫妻,并且他们有很多孩子.某天,Jiajia.Wind和孩子 ...

  9. css3 position:sticky

    最近在写一个小程序,项目中遇到一个需求:页面滚动到tab切换菜单时,菜单fixed到页面顶部: 实现方法: 使用小程序的onPageScroll事件,滚动到指定位置添加fixed样式: bug1:获取 ...

  10. HDU-2553

    N皇后问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...