MongoDb随笔,PyMongo简单使用

安装MongoDb

MongoDb下载对应的系统版本的可执行文件

本人系统环境:rhel-server-6.2-x86_64

解压缩包tar zxvf mongodb-linux-x86_64-rhel62-3.0.2.tgz

可以查看目录下的README,了解各个可执行文件的作用。

简单启动命令 mkdir db; mongo --dbpath=./db

mongo --help 可以获取更多帮助。

安装PyMongo

安装命令:pip install pymongo

更多关于pip的应用可参考Python下pip pydoc 2to3等工具

PyMongo简单使用

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import pymongo
import datetime

def get_db():
    # 建立连接
    client = pymongo.MongoClient(host="10.244.25.180", port=27017)
    db = client[‘example‘]
    #或者 db = client.example
    return db

def get_collection(db):
    # 选择集合(mongo中collection和database都是延时创建的)
    coll = db[‘informations‘]
    print db.collection_names()
    return coll

def insert_one_doc(db):
    # 插入一个document
    coll = db[‘informations‘]
    information = {"name": "quyang", "age": "25"}
    information_id = coll.insert(information)
    print information_id

def insert_multi_docs(db):
    # 批量插入documents,插入一个数组
    coll = db[‘informations‘]
    information = [{"name": "xiaoming", "age": "25"}, {"name": "xiaoqiang", "age": "24"}]
    information_id = coll.insert(information)
    print information_id

def get_one_doc(db):
    # 有就返回一个,没有就返回None
    coll = db[‘informations‘]
    print coll.find_one()  # 返回第一条记录
    print coll.find_one({"name": "quyang"})
    print coll.find_one({"name": "none"})

def get_one_by_id(db):
    # 通过objectid来查找一个doc
    coll = db[‘informations‘]
    obj = coll.find_one()
    obj_id = obj["_id"]
    print "_id 为ObjectId类型,obj_id:" + str(obj_id)

    print coll.find_one({"_id": obj_id})
    # 需要注意这里的obj_id是一个对象,不是一个str,使用str类型作为_id的值无法找到记录
    print "_id 为str类型 "
    print coll.find_one({"_id": str(obj_id)})
    # 可以通过ObjectId方法把str转成ObjectId类型
    from bson.objectid import ObjectId

    print "_id 转换成ObjectId类型"
    print coll.find_one({"_id": ObjectId(str(obj_id))})

def get_many_docs(db):
    # mongo中提供了过滤查找的方法,可以通过各种条件筛选来获取数据集,还可以对数据进行计数,排序等处理
    coll = db[‘informations‘]
    #ASCENDING = 1 升序;DESCENDING = -1降序;default is ASCENDING
    for item in coll.find().sort("age", pymongo.DESCENDING):
        print item

    count = coll.count()
    print "集合中所有数据 %s个" % int(count)

    #条件查询
    count = coll.find({"name":"quyang"}).count()
    print "quyang: %s"%count

def clear_all_datas(db):
    #清空一个集合中的所有数据
    db["informations"].remove()

if __name__ == ‘__main__‘:
    db = get_db()
    my_collection = get_collection(db)
    post = {"author": "Mike", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"],
            "date": datetime.datetime.utcnow()}
    # 插入记录
    my_collection.insert(post)
    insert_one_doc(db)
    # 条件查询
    print my_collection.find_one({"x": "10"})
    # 查询表中所有的数据
    for iii in my_collection.find():
        print iii
    print my_collection.count()
    my_collection.update({"author": "Mike"},
                         {"author": "quyang", "text": "My first blog post!", "tags": ["mongodb", "python", "pymongo"],
                          "date": datetime.datetime.utcnow()})
    for jjj in my_collection.find():
        print jjj
    get_one_doc(db)
    get_one_by_id(db)
    get_many_docs(db)
    # clear_all_datas(db)
时间: 2024-11-13 10:21:33

MongoDb随笔,PyMongo简单使用的相关文章

MongoDB随笔基本操作

一.MongoDB数据结构与关系型数据库比较 逻辑结构对比MongoDB              关系型数据库文档(document)        行(row)集合(collection)         表(table)数据库(database)    数据库(database) 二.mongod 参数说明最简单的,通过执行 mongod 即可以启动 MongoDB 数据库服务,mongod 支持很多的参数,但都有默认值,其中最重要的是需要指定数据文件路径,或者确保默认的/data/db

MongoDB和pymongo的CURD

一.mongodb 1.介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立

分享哈我测试MongoDB数据库的简单代码

原文:分享哈我测试MongoDB数据库的简单代码 源代码下载地址:http://www.zuidaima.com/share/1550463424236544.htm 分布式文件存储系统,MongoDB部署安装具体可以参照: http://www.cnblogs.com/mecity/archive/2011/06/11/2078527.html Demo实现了从txt文件中逐行读取数据,存放到MongoDB数据库中的. 可参照其它Demo代码 这是一套基于Spring, Hibernate,

MongoDB的一些简单CRUD操作

上篇博客已经对MongoDB进行了简单介绍和它如何安装,现在来说说MongoDB的操作.MongoDB的操作用的是Shell命令,Shell命令语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的.使用Shell 命令,需要启动mongo.exe. 常用Shell命令如下: 1.创建collection 2.查看创建的collection 3.collection中写入数据 4.查询插入的数据 5.条件查询 6.查询一条数据中的指定列 7.排序 7.

docker & nodejs & mongodb Nodejs 应用简单的访问Mongodb 部署至Docker

docker & nodejs & mongodb Nodejs 应用简单的访问Mongodb 部署至Docker 原文地址 https://www.cnblogs.com/zhangyanbo/p/5851644.html (自己操作时遇到不能继续的情况,所以稍做了修改完善) 目录结构 . ├── app.js ├── controller ├── Dockerfile ├── model ├── node_modules ├── package.json ├── router └──

mongodb做一个简单的注册登录效果

作为一个初学者,做这个例子的时候我也是遇到了很多问题,在查看了一些大牛的解答,终于实现了这个简单的效果,下面我来分享这个源代码,以及其中我所遇到的问题 这是在nodejs环境下作的一个实例,用到了jade,express,mongodb这几个主要的模块 layout.jade文件 doctype 5html head title Mongodb example body h1 my first mongodb app hr block content index.jade文件 extends .

MongoDB(6):简单配置,环境变量,关闭服务

1.mongodb.conf (简单参数配置,详见http://www.cnblogs.com/PheonixHkbxoic/p/5665515.html) #mongod.conf  dbpath=/usr/local/mongodb/data/db  logpath=/usr/local/mongodb/log/mongodb.loglogappend=true   port=27017  fork=true  journal=truehttpinterface=truerest=true

mongodb入门很简单(3)

 ##简单的mongodb入门命令## 1.show dbs;      //查看当前数据库 2.use databaseName;         //选库 3.show tables/collections;           //查看数据库中有哪些表 4.db.help();              //查看一些对database的操作命令 5.mongodb的库是隐式创建的,我们可以use一个不存在的库,然后在改库下创建collection,即可创建库: 例如:db.createCo

Windows平台下为Python添加MongoDB支持PyMongo

到Python官网下载pymongo-2.6.3.win-amd64-py2.7.exe 安装pymongo-2.6.3.win-amd64-py2.7.exe 参照官方的用例进行测试 打开命令提示符,进入Python运行环境. 导入pymongo模块 >>> import pymongo 建立到本地MongoDB服务的链接 >>> client = pymongo.MongoClient("localhost", 27017) 连接test数据库