MongoDB基础
简介
MongoDB 是一个非关系型数据库 非常适合超大数据集的存储,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的 对比 SQL
SQL Mongodb 表(Talbe) 集合(Collection) 行(Row) 文档(Document) 列(Col) 字段(Field) 主键(Primary Key) 对象ID(ObjectId)
安装
基操
直接在命令行进入客户端mongo
show dbs;
show databases;
use xxxx;
db;
db.dropDatabase( ) ;
show collections;
常见数据类型,文档用的多一些(字典);文档内各元素无序Object ID: 主键ID【"_id" : ObjectId( "56063f17ade2f21f36b03133" ) 】
String: 字符串
Boolean: 布尔值
Integer: 数字
Doube: 小数
Arrays: 数组,[ 1,2 ,3]
Object: 文档( 关联其他对象) { sname: 李嘉诚, sage: 18 , class:{ cccc} }
Null : 空值
Timestamp: 时间戳
Date: 时间日期
插入数据;按照插入顺序排序
db.c1.insert( { name:"bobo" , age:18, hobby:[ 'eat' , 'sleep' ] } )
db.getCollection( 'c1' ) .insertMany( [
{
"name" : "roy" ,
} ,
{
"address" : "NX"
} ,
]
) ;
更新数据,关键字:$set
db.d1.update( { name:"bobo" } , { $set :{ title:"alex" , hobby:[ '抽烟' , '喝酒' , '烫头' ] } } , { multi:true} ) ;
删除数据db.collection_name.remove( { 条件} , { justOne:true| false} )
db.collection_name.remove( )
db.collection_name.drop( )
db.col.remove( { name:"jay" } , { justOne:true} )
db.collection_name.deleteOne( { 条件} )
查询数据
普通查询db.c1.find( )
db.c1.find( { "字段" : "固定值" } )
db.c1.findOne( { 条件} )
db.getCollection( 'c1' ) .find( { "字段1" : "固定值1" ,"字段2" : "固定值2" } )
比较等于: 默认是等于判断, $eq
小于:$lt (less than)
小于等于:$lte (less than equal)
大于:$gt (greater than)
大于等于:$gte
不等于:$ne
看个例子吧db.stu.insert( [
{ name: "朱元璋" , age:800, address:'安徽省凤阳' , score: 160 } ,
{ name: "朱棣" , age:750, address:'江苏省南京市' , score: 120 } ,
{ name: "朱高炽" , age:700, address:'北京紫禁城' , score: 90 } ,
{ name: "李嘉诚" , age:38, address:'香港xxx街道' , score: 70 } ,
{ name: "麻花藤" , age:28, address:'广东省xxx市' , score: 80 } ,
{ name: "大老王" , age:33, address:'火星第一卫星' , score: -60} ,
{ name: "咩咩" , age:33, address:'开普勒225旁边的黑洞' , score: -160}
] )
db.stu.find( { age:28} )
db.stu.find( { age: { $eq : 28 } } )
db.stu.find( { age: { $gt : 30 } } )
db.stu.find( { age: { $lt : 30 } } )
db.stu.find( { age: { $gte : 38 } } )
db.stu.find( { age: { $lte : 38 } } )
db.stu.find( { age: { $ne : 38 } } )
逻辑运算db.stu.find( { $and :[ { age: { $eq :33} } , { name:'大老王' } ] } )
db.stu.find( { $or : [ { name: '李嘉诚' } , { age: { $gt : 100 } } ] } )
db.stu.find( { $nor : [ { age: { $lt : 38 } } , { name: "朱元璋" } ] } )
存在db.stu.find( { age: { $in :[ 28 , 38 ] } } )
正则表达式db.stu.find( { address: { $regex : '^北京' } } )
db.stu.find( { address: /^北京/} )
分页db.stu.find( ) .skip( 3 ) .limit( 3 )
排序
db.stu.find( ) .sort( { age:1, score: -1}
统计
db.stu.count( { age:33} )
非关系型数据库,就是这么简单
pymongo
基操import pymongo
import pymongo
from pymongo import MongoClient
def get_db ( database) :
"""
连接数据库
:param database: 数据库名
:return:
"""
client = MongoClient( host= "localhost" , port= 27017 )
db = client[ database]
return db
def add_one ( table, data) :
"""
新增数据
:param table:
:param data: 字典格式(文档类型)
:return:
"""
db = get_db( "python" )
result = db[ table] . insert_one( data)
return result
def add_many ( table, data_list) :
"""
新增多条数据
:param table:
:param data_list:数据数组
:return:
"""
db = get_db( "python" )
result = db[ table] . insert_many( data_list)
return result. inserted_ids
def upd ( table, condition, data) :
"""
修改数据
:param table:
:param condition: 匹配条件
:param data:
:return:
"""
db = get_db( "python" )
result = db[ table] . update_many( condition, { '$set' : data} )
return result
def delete ( table, condition) :
"""
删除数据
:param table:
:param condition:
:return:
"""
db = get_db( "python" )
result = db[ table] . delete_many( condition)
return result
if __name__ == '__main__' :
result = delete( "stu" , { "name" : "嘎嘎" } )
print ( result)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135333.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!