MongoDB数据库的下载&与Python交互

1、MongoDB数据库的下载, 安装与配置

以下链接为详细安装MongoDB数据库教程:

2、MongoDB数据库操作

//常用操作:

// 1.查看数据库
show dbs

// 2.创建并使用数据库
use tst

// 3.查看当前工作的数据库
db

// 4.创建集合并插入一条数据
db.goods.insert({"name":"辣条", "price":0.5})

// 5.查看所有表
show tables

// 6.查询表中所有数据
db.goods.find()

// 7.删除表操作
db.goods.drop()

// 8.删除数据库
db.dropDatabase()

# 增加数据操作:
db.tablename.insert({dict})

# 示例: 增加数据操作:
db.goods.insert({"name":"辣条", "price":0.5})
db.goods.insert({"name":"辣条", "price":1})
db.goods.insert({"name":"干脆面", "price":0.5})
db.goods.insertOne({"name":"单身狗粮", "price":4.5})
db.goods.insertMany([{"name":"小洋人", "price":3.5}, {"name":"麦香鸡块", "price":5.5}])
# 查询数据操作:
db.tablename.find({dict})

# 示例:查询操作
    # 1.简单查询操作:
    db.goods.find().limit(4).sort({"price":1})        // sort("定位的键":+-1):用于对查询结果进行排序, 1升序, -1降序

    # 2.条件查询:db.tablename.find({"定位的键":"值"})
    db.goods.find({"name":"辣条"})  // 等值查询

    # 3.and 与 or
    db.goods.find({"name":"辣条", "price":0.5})  // and查询:根据多个条件共同定位数据
    db.goods.find({$or:[{"name":"辣条"},{"price":3.5}]})

    # 4.非等值查询:db.goods.find({"定位的键":{$...:"值"})
    db.goods.find({"price":{$gt:0.5}})     // 大于: $gt   

    db.goods.find({"price":{$gte:4.5}})    // 大于等于: $gte

    db.goods.find({"price":{$lt:4.5}})     // 小于: $lt

    db.goods.find({"price":{$lte:4.5}})    // 小于等于: $lte

    db.goods.find({"price":{$ne:5.5}})    // 不等于: $ne

    db.goods.find({"price":{$lt:5.5, $gt:0.5}})  //上下限范围查询

    db.goods.find({$or:[{"price":{$lt:3.5}}, {"price":{$gt:4.5}}]}) // 非上下限范围查询
# 更新数据操作:
db.table.update({定位字典}, {指定修改的键值})
# 示例:更新数据操作:
	db.goods.update({"price":0.5},{$set:{"price":5}})  
        # 参数中的第一个字典用于定位要修改的数据
        # 参数中的第二个字典是指定要更新已定位的数据
        # 第二个参数中的字典是指定要将哪个字段的修改为什么
# 删除数据操作:
db.tablename.remove({定位字典})
# 示例:删除数据操作:
db.goods.remove({"price":5})

3、Python与mongo交互

# 导入模块
import pymongo

# 连接MongoDB数据库
conn = pymongo.MongoClient('localhost', 27017)


# 建库
db = conn.goods

# 建集合
table = db.snacks

# 数据操作: 插入数据
table.insert(dict)
table.insert_one(dict)
table.insert_many([dict1, dict2, dict3])

# 数据操作: 查询数据
table.find_one({dict})   # 返回一个字典形式数据
table.find()  # 返回一个mongo对象, 需要使用for循环遍历取值
table.find({dict})  # 同上
# 示例:
import pymongo
conn = pymongo.MongoClient("localhost", 27017)
db = conn.tst
table = db.goods
# 插入数据
table.insert({'name': "安慕希", "price":6})
table.insert_one({'name': "老干妈", "price":5.5})
table.insert_many([{"name":"小浣熊", "price":1}, {"name":"脉动", "price":4.5}])
print(dir(table))

# 查询数据:
res_one = table.find_one({"name":"辣条"})
print("find_one的查询结果:", res_one)

res = table.find({"name":"辣条"})  # res = table.find()获得的查询结果类型及取值操作一样
print(res)
print(type(res))
for item in res:
    print(item)
    
# 更新数据:
table.update({"name":"单身狗粮"},{"$set":{"name":"单身狗凉凉"}})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值