mongodb 数据库操作命令

Python 操作mongodb数据库

Python操作数据库 (2)

查看数据库:

 show dbs;

选择(或创建)使用的数据库:

use test;    # 使用test数据库

查看当前使用的数据库:

db.getName();

创建集合:

db.test.insert({"_id":"520","name":"xiaoming"})

查看当前数据库所有集合:

show collections;

 显示用户:

show users:

删除指定集合:

db.collection_name.drop()

 删除当前使用的数据库:

db.dropDatabase();

插入数据:

--格式:
db.集合名称.insert(数据)
--示例:
db.spit.insert({content:"国庆节完了~",publishtime:new Date(),userid:"1",nickname:"小小"})

查询数据:

--格式:
db.集合名称.find()
--示例:
--(1)全量查询
db.spit.find()
--(2)指定条件查询集合
db.spit.find({nickname:'小唐'})
--(3)指定条件查询集合-只返回1条
db.spit.findOne({nickname:'小唐'})
--(4)指定条件查询集合-只返回n条
db.spit.find({nickname:'小小'}).limit(4)

修改与删除:

# 修改
--格式:
db.集合名称.update(条件,修改后的数据)
--示例:
--(1)修改 其他值都被清空了
db.spit.update({_id:ObjectId('5bb973c48a275f3a8ee8a402')},{content:'修改后的值'})
--(2)修改 值修改指定值,其他值不变
db.spit.update({_id:ObjectId('5bb973c48a275f3a8ee8a402')},{$set:{content:'修改后的值'}})

# 删除
--格式:
db.集合名称.remove(条件)
--示例:
--(1)删掉_id为'5bb973c68a275f3a8ee8a404'的文档
db.spit.remove({_id:ObjectId('5bb973c68a275f3a8ee8a404')})
--(2)删除文档 全部清空
db.spit.remove({})

统计:

--示例:
--(1)统计集合总记录数
db.spit.count()
--(2)指定条件统计
db.spit.count({nickname:'小唐'})
--(3)查询结果后统计
db.spit.find({'name':王大毛}).count()

模糊查询:

--格式:
find(/模糊查询字符串/)
--示例:
--(1)包含"国庆"
db.spit.find({content:/国庆/})
--(2)"66"开头
db.spit.find({content:/^66/})
--(3)正则匹配
db.spit.find({"record_filed":{$regex:".*"}})
db.spit.find({"record_filed":{$regex:/.*/}})

mongodb 查询语句 对比 mysql

集合简单查询方法
mongodb语法:db.collection.find()  //collection就是集合的名称,这个可以自己进行创建。
对比sql语句:select * from collection;
查询集合中所有的文档,即关系型数据库中的查询表中的所有数据。


返回制定的键值
mongodb语法:db.collection.find({},{"userid":1})
对比sql语句:select userid from collection;


条件过滤
mongodb语法 : db.collection.find({"userid":495})
对比sql语句:select * from collectionwhere userid = 495;


查询全格式
mongodb查询:
db.error.find({"userid":1,"type":"debug"},{"userid":1,"type":1,"myssage":1})
sql查询:
select userid,type,message from error where userid=1 and type = "debug";


sort排序与limit返回固定条目数
mongodb查询:
db.collection.find({"userid":1,"type":"debug"},{"userid":1,"type":1,"myssage":1}).sort("time":-1).limit(10)
sql查询:
select userid,type,message from collection where userid=1 and type = "debug" order by time desc limit 10;


count返回结果集总数
mongodb查询:
db.collection.count()
sql查询:
select count(*) from collection;


查询操作符"$gt" -->大于操作符
mongodb查询:
db.collection.find({"userid":{"$gt":"494"}})
sql查询:
select * from collection where userid > 494;

 
查询操作符"$gte" -->大于等于
mongodb查询:
db.collection.find({"userid":{"$gte":"494"}})
sql查询:
select * from collection where userid >= 494;

 
查询操作符 "$lt"-->小于
mongodb查询:
db.collection.find({"userid":{"$lt":"494"}})
sql查询:
select * from collection where userid <494;

 
查询操作符"$lte"-->小于等于
mongodb查询:
db.collection.find({"userid":{"$lte":"494"}})
sql查询:
select * from collection where userid < =494;

 
查询操作符"$ne"-->不等于
mongodb查询:
db.collection.find({"userid":{"$ne":"494"}})
sql查询:
select * from collection where userid != 494;

查询操作符"null查询"-->空
mongodb查询:
db.collection.find({"userid":null})
sql查询:
select * from collection where userid is null;


查询操作符"$all"-->匹配所有
mongodb查询:
db.collection.find({"userid":{"$all":"494"}})
sql查询:
select * from collection where userid = 494;

 
询操作符"$size"-->用于数组查询,查询指定长度的数组
mongodb查询:
db.collection.find({"remark":{"$size":"3"}})

 

查询操作符"$in"--> 在范围内
mongodb查询:
db.collection.find({"userid":{"$in":["297","495"]}})
sql查询:
select * from collection where userid in (297,495);


查询操作符"$nin"-->不在范围内
mongodb查询:
db.collection.find({"userid":{"$nin":["297","495"]}})
sql查询:
select * from collection where userid not in (297,495);


查询操作符"$and"-->至少包含两个表达式,两个表达式都满足的文档返回
mongodb查询:
db.collection.find({"$and":[{"userid":"495"},{"type":"info"}]})
sql查询:
select * from collection where userid=495 and type='info';

 
查询操作符"$nor"-->至少包含两个表达式,两个表达式都不满足的文档返回
mongodb查询:
db.collection.find({"$nor":[{"userid":"495"},{"userid":"297"}]})
sql查询:
select * from collection where userid not in (297,495);


查询操作符"$not"-->找出不匹配表达式的文档,不能够单独使用,必须与其他表达式配合使用
mongodb查询:
db.collection.find({"userid":{"$not":{"$gt":"297"}}})
等同于:db.collection.find({"userid":{"$lte":"297"}}})
sql查询:
select * from collection where userid <=297;


查询操作符"$or"-->至少包含两个表达式,两个表达式至少满足一个的文档返回
mongodb查询:
db.collection.find({"$or":[{"userid":"495"},{"userid":"297"}]})
sql查询:
select * from collection where userid =297 or userid = 495;


查询操作符"$exists"-->查询文档中字段是否存在
mongodb查询:
db.collection.find({"$exists":"true"})


查询操作符"$mod"-->键值对变量参数取模,值等于另一个参数
mongodb查询:
db.collection.find({"userid":{"$mod":[10,7]}})
执行条件:userid字段值必须是数字,userid对10取模,值等于7的文档返回。
sql查询:
select * from collection where (user_id%10)=7


查询操作符"$regex"-->正则匹配
mongodb查询:
db.collection.find({"userid":/5$/})
sql查询:
select * from collection where userid like '%5';
sql正则写法:      
select * from collection where userid regexp ".5$";
正则匹配userid的最后一位是5的,sql中只有使用regexp才可以使用复杂的正则表达式,使用Like的方式不可以进行复杂的正则匹配
 

查询操作符"$slice"-->控制返回的数组元素中的元素个数
mongodb查询:
        db.collection.find({},{"remark":{"$slice":5})
                    remark数组键值,返回数组键值中的前5个元素
        db.collection.find({},{"remark":{"$slice":[10,5]})
                    remark数组键值,返回数组键值中的第11到15个元素,偏移量为10,然后返回5个。
        db.collection.find({},{"remark":{"$slice":-5})
                    remark数组键值,返回数组键值中的后5个元素

        

参考:https://www.cnblogs.com/lingfengblogs/p/4195984.html

发布了76 篇原创文章 · 获赞 68 · 访问量 12万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 创作都市 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览