Mongdb
一、安装
Windows版本下载双击安装
界面如下,点击localhost:27017连接
二、使用
1. 参考文档
2. 使用
databases
# 查看数据库
show databases
# 创建数据库
use school
collection
# 创建集合
db.createCollection('student')
# 查看集合
show collections
# 删除集合
db.student.drop()
insert
# 插入一条数据
db.student.insertOne({'name':'zs', 'age':14, 'sex':'男'})
# 插入多条数据
school> db.student.insertMany([{'name':'Jone', 'age':66, 'sex':'女'},{'name':'Heri', 'age':23, 'sex':'女'}])
{
acknowledged: true,
insertedIds: {
'0': ObjectId('689fc54ba91bbcb681c73bf9'),
'1': ObjectId('689fc54ba91bbcb681c73bfa')
}
}
# 循环插入
school> for (i=20;i<25;i++){db.student.insertOne({'name':'bli','age':i,'sex':'女'})}
{
acknowledged: true,
insertedId: ObjectId('689fc61ca91bbcb681c73bff')
}
# save和insert的区别,save存在更新,不存在新增
delete
# 删除一条
school> db.student.deleteOne({'name':'bli'})
{ acknowledged: true, deletedCount: 1 }
# 删除多条
school> db.student.deleteMany({'name':'bli'})
{ acknowledged: true, deletedCount: 4 }
update
school> db.student.updateOne({'name':'Jone'}, {$set:{'name':'Jone', 'age':20}})
{
acknowledged: true,
insertedId: null,
matchedCount: 1,
modifiedCount: 1,
upsertedCount: 0
}
find
# 查询所有
school> db.student.find()
[
{
_id: ObjectId('689fc3eba91bbcb681c73bf8'),
name: 'zs',
age: 12,
sex: '男'
}
]
# 查询一条
school> db.student.findOne()
{
_id: ObjectId('689fc3eba91bbcb681c73bf8'),
name: 'zs',
age: 12,
sex: '男'
}
school> db.student.findOne({'name':'Jone'})
{
_id: ObjectId('689fc54ba91bbcb681c73bf9'),
name: 'Jone',
age: 20,
sex: '女'
}
school> db.student.findOne({'name':{'$eq':'Jone'}})
{
_id: ObjectId('689fc54ba91bbcb681c73bf9'),
name: 'Jone',
age: 20,
sex: '女'
}
# lt(less than)
school> db.student.find({'age':{'$lt':20}})
[
{
_id: ObjectId('689fc3eba91bbcb681c73bf8'),
name: 'zs',
age: 12,
sex: '男'
}
]
# lte
school> db.student.find({'age':{'$lte':20}})
[
{
_id: ObjectId('689fc3eba91bbcb681c73bf8'),
name: 'zs',
age: 12,
sex: '男'
},
{
_id: ObjectId('689fc54ba91bbcb681c73bf9'),
name: 'Jone',
age: 20,
sex: '女'
}
]
# ne
school> db.student.find({'age':{'$ne':20}})
[
{
_id: ObjectId('689fc3eba91bbcb681c73bf8'),
name: 'zs',
age: 12,
sex: '男'
},
{
_id: ObjectId('689fc54ba91bbcb681c73bfa'),
name: 'Heri',
age: 23,
sex: '女'
}
# nin
school> db.student.find({'age':{'$nin':[12, 23]}})
[
{
_id: ObjectId('689fc54ba91bbcb681c73bf9'),
name: 'Jone',
age: 20,
sex: '女'
}
]
# or
school> db.student.find({$or:[{'name':'Jone'}, {'age':23}]})
[
{
_id: ObjectId('689fc54ba91bbcb681c73bf9'),
name: 'Jone',
age: 20,
sex: '女'
},
{
_id: ObjectId('689fc54ba91bbcb681c73bfa'),
name: 'Heri',
age: 23,
sex: '女'
}
]
# 模糊匹配
[
{
_id: ObjectId('689fc54ba91bbcb681c73bf9'),
name: 'Jone',
age: 20,
sex: '女'
},
{
_id: ObjectId('689fc54ba91bbcb681c73bfa'),
name: 'Heri',
age: 23,
sex: '女'
}
]
# regex
school> db.student.find({'name':{$regex:'e'}})
[
{
_id: ObjectId('689fc54ba91bbcb681c73bf9'),
name: 'Jone',
age: 20,
sex: '女'
},
{
_id: ObjectId('689fc54ba91bbcb681c73bfa'),
name: 'Heri',
age: 23,
sex: '女'
}
]
# js
school> db.student.find({$where:function(){return this.age>20}})
[
{
_id: ObjectId('689fc54ba91bbcb681c73bfa'),
name: 'Heri',
age: 23,
sex: '女'
}
]
school> db.student.find({$where:function(){return this.age>20}}).count()
# limit
school> db.student.find().sort({'age':1}
# skip
school> db.student.find().limit(2).skip(1)
# count
school> db.student.find().count()
# distinct
school> db.student.distinct('age')
[ 12, 20, 23 ]
# exists
school> db.student.find({'age':{$exists:true}})
python连接数据库
# 获取连接
client = pymongo.MongoClient('localhost', 27017)
# 指定数据库
db = client.school
# 获取集合
coll = client.school.student
# 查询
res = coll.find()
for s in res:
print(s)
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小王
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果