Mongo 搞笑学法

数据库(database): 一个仓库,在其中可以存放集合。

集合(collection): 概念相当于MySQL中的表,类似于一个数组,在集合中可以存放文档。

文档(document): 文档是数据库中的最小单位,我们存储和操作的内容都是文档。

注意:在MongoDB中,数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合。

  1. 基本指令
    show dbs/databases: 查看当前所有的数据库

use (数据库名): 进入到指定的数据库中

db: 显示当前所处的数据库

show collections: 显示当前数据库中所有的集合

limit限制记录
limit()方法:该方法接受数字型参数,这是要显示的文档数。
语法:>db.collection_name.find().limit(number)

聚合,分组,计数 数字表示倍数 注意count是别名
db.news.aggregate({\(group:{_id:'source',num_tutorial:{\)sum:1}}})

db.problem.aggregate([{\(group:{_id:'\)event_type',count:{$sum:1}}}])
db.problem.count()
排序
db.news.find().sort({_id:-1}).limit(3)

只查“_id" 1是显示

db.news.find({},{'_id':1}).limit(5)
db.news.find({},{'_id':1}).limit(5).sort({'_id':-1})

模糊查询 /外面不加引号/

包含查询

db.news.findOne({'title':/陆金所/})

后面1显示指定字段,0不显示

db.news.findOne({'title':/陆金所/},{'title':1})

指定开头

db.news.findOne({'title':/^陆金所/},{'title':1})

db.platform.find().limit(5).sort({rank:1})

db.platform.find({},{rank:1}).limit(5).sort({rank:1})
db.platform.find({},{onlineDate:1}).limit(5).sort({onlineDate:1})

db.user.update({'username':'微软'},{$set:{'username':'我'}})

db.dropDatabase()
删除orders集合的所有数据,集合还存在,索引都还存在,相当与SQ的truncate命令
db. orders.remove({})
删除集合 集合、索引都不存在了
db.collection.drop()

db.user.deleteOne({'_id':ObjectId("5c37219963fb9c1c7ccaa027")} );

1.新建一个collection 名字为 news
Use admin
db.createCollection[‘news’]
2.插入5条数据,分别为标题,作者,浏览次数,是否删除
db.news.insertMany([{'title':'电影','author':'张三','browse':10000,'delete':false},{'title':'美女','author':'李四','browse':20000,'delete':false},{'title':'跑车','author':'张三','browse':2000,'delete':false},{'title':'动物','author':'小明','browse':10,'delete':false},{'title':'学校','author':'张三','browse':10,'delete':false}])

db.stu.insert([{name:'Jerry',age:18, gender:'male'},{name:'Herry',age:20,gender:'female'}])
3.查询所有记录
db.news.find()
db.news.find().limit()
db.news.find().limit(0)
4.查询一条记录
db.news.findOne()
db.news.find()[0]
db.news.find().limit(1)
5.查询作者为张三的所有记录
db.news.find({'author':'张三'})
6.查询作者为张三并且浏览次数大于2次的
db.news.find({browse:{\(gt:2},author:'张三'}) 7.查询作者为李四,或者浏览次数为10次的,并且没删除的记录 db.news.find({\)or:[{author:'李四'},{browse:10}],delete:false})
8.把作者小明改成小李
db.news.update({'author':'小明'},{\(set:{'author':'小李'}}) 9.把作者张三全部改成李四 db.news.update({author:'张三'},{\)set:{author:'李四'}},{multi:true})
updateMany
10.删除小李的记录
db.news.remove({author:'小李'})

def __insert_db(self,infos,ix):
    try:
        collection = f"info_{ix}"
        client = MongoClient("localhost",27017)
        # conn = client['liepin']['infos']  # conn = client.liepin.infos
        conn = client['liepin'][collection]
        conn.drop()
        conn.insert_many(infos)
        client.close()
    except Exception as e:
        print(str(e))
posted @ 2020-05-31 21:41  justblue  阅读(116)  评论(0编辑  收藏  举报