非关系型数据库mongodb的语法模式

from pymongo import MongoClient



#连接
conn = MongoClient('127.0.0.1', 27017)

#进入数据库
db = conn.edianzu  #连接mydb数据库,没有则自动创建

#进入集合
pinglun = db.pinglun  # 使用test_set集合,没有则自动创建





#插入数据(insert插入一个列表多条数据不用遍历,效率高, save需要遍历列表,一个个插入)

#1/insert方式
pinglunDict = {
    'username':'小红',
    'headerimg': 'https://tvax3.sinaimg.cn/crop.0.0.750.750.180/006758Pyly8fg6x9s2jhtj30ku0ku74m.jpg',
    'content': '王思聪吃热狗又出周边了!这次是捣蒜神器,想要[doge] ​​​​',
    'contentimg': ['https://wx4.sinaimg.cn/mw690/006758Pyly1fx0etbf8f0j30yi1hwwwl.jpg', 'https://wx3.sinaimg.cn/mw690/006758Pyly1fx0etbpdnbj30k00qote5.jpg', 'https://wx1.sinaimg.cn/mw690/006758Pyly1fx0etbwqp2j30k00qo796.jpg'],
    'zanNum':0

}

# pinglun.insert(pinglunDict)

#2/save方式
# pinglun.save(pinglunDict)

#添加多条数据到集合中
pinglunList = [
    {
        'username': '小李',
        'headerimg': 'https://tvax3.sinaimg.cn/crop.0.0.750.750.180/006758Pyly8fg6x9s2jhtj30ku0ku74m.jpg',
        'content': '王思聪吃热狗又出周边了!这次是捣蒜神器,想要[doge] ​​​​',
        'contentimg': ['https://wx4.sinaimg.cn/mw690/006758Pyly1fx0etbf8f0j30yi1hwwwl.jpg', 'https://wx3.sinaimg.cn/mw690/006758Pyly1fx0etbpdnbj30k00qote5.jpg', 'https://wx1.sinaimg.cn/mw690/006758Pyly1fx0etbwqp2j30k00qo796.jpg'],
        'zanNum':0

    },
    {
        'username': '小黑',
        'headerimg': 'https://tvax3.sinaimg.cn/crop.0.0.750.750.180/006758Pyly8fg6x9s2jhtj30ku0ku74m.jpg',
        'content': '王思聪吃热狗又出周边了!这次是捣蒜神器,想要[doge] ​​​​',
        'contentimg': ['https://wx4.sinaimg.cn/mw690/006758Pyly1fx0etbf8f0j30yi1hwwwl.jpg', 'https://wx3.sinaimg.cn/mw690/006758Pyly1fx0etbpdnbj30k00qote5.jpg', 'https://wx1.sinaimg.cn/mw690/006758Pyly1fx0etbwqp2j30k00qo796.jpg'],
        'zanNum':0

    },
    {
        'username': '小花',
        'headerimg': 'https://tvax3.sinaimg.cn/crop.0.0.750.750.180/006758Pyly8fg6x9s2jhtj30ku0ku74m.jpg',
        'content': '王思聪吃热狗又出周边了!这次是捣蒜神器,想要[doge] ​​​​',
        'contentimg': ['https://wx4.sinaimg.cn/mw690/006758Pyly1fx0etbf8f0j30yi1hwwwl.jpg', 'https://wx3.sinaimg.cn/mw690/006758Pyly1fx0etbpdnbj30k00qote5.jpg', 'https://wx1.sinaimg.cn/mw690/006758Pyly1fx0etbwqp2j30k00qo796.jpg'],
        'zanNum':0

    }
]
# pinglun.insert(pinglunList)
#或
# for item in pinglunList:
#     pinglun.save(item)


#更新数据
# pinglun.update({'username':'小花'},{'$set':{'zanNum':1}},multi=True,upsert=True)

# my_set.update(
#     < query > ,  # 查询条件
#     < update > ,  # update的对象和一些更新的操作符
#     {
#         upsert: < boolean >,  # 如果不存在update的记录,是否插入
#         multi: < boolean > ,  # 可选,mongodb 默认是false,只更新找到的第一条记录
#     }
# )
# 把上面插入的数据内的age改为20




# #删除某个文档
# pinglun.remove({查找语句})
# pinglun.remove({'username': '小李'})



# #删除整条记录
# id = my_set.find_one({"name": "zhangsan"})["_id"]

#删除name=lisi的某个id的记录
# pinglunimg = pinglun.find_one({'username':'小黑'})['_id']
# print(pinglun.remove(pinglunimg))

# #删除集合里的所有记录
# pinglun.remove()


#查找具体某条信息
#语法:find_one({条件key:条件value})

# result = pinglun.find_one({'username':'小黑'})
# result = pinglun.find({'username':'小黑','zanNum':0})
# result = pinglun.find().count()
# print(result)






# #查询,大于$gt,大于等于$gte,小于$lt,小于等于$lte,不等于$ne
# result = pinglun.find_one({
#     'zanNum':{'$ne':0}
# })
# print(result)


# pinglun.update({'username':'小花'},{'$set':{'zanNum':1}})
#在原基础上进行增加
# pinglun.update({'username': '小花'}, {'$inc': {'zanNum': 1}})

# #and条件,》db.col.find({key1:value1, key2:value2}).
# result = pinglun.find_one({
#     'zanNum': {'$lt': 50},
#     'username':'小花'
# })
# print(result)

# #OR 条件

# result = pinglun.find_one({
#     '$or':[
#         {'zanNum':0},
#         {'zanNum':2}
#     ]
# })
# print(result)


# # >db.col.find(
# #     {$or: [
# #         {key1: value1}, {key2: value2}
# #     ]
# #     }
# # )

# #limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。
# #skip()方法来跳过指定数量的数据,skip方法同样接受一个数字参数作为跳过的记录条数。


# # count统计数目


# #sort排序
# #pymongo.ASCENDING      1
# #pymongo.DESCENDING    -1
# # find().sort((("age", pymongo.ASCENDING), ("high", pymongo.ASCENDING)))

# #正则表达式查询
# # find({'name': {'$regex': r'.*wei.*'}})

猜你喜欢

转载自www.cnblogs.com/Dark-fire-liehuo/p/9932303.html