1.查看所有数据库
show dbs
admin 0.000GB
local 0.000GB
test 0.000GB
2.使用或创建该数据库
use test
switched to db test
3.查看当前所在数据库
db
test
db.one.insert({‘name’:‘ls’})
WriteResult({ “nInserted” : 1 })
db.dropDatabase()
{ “dropped” : “p0610”, “ok” : 1 }
db.dropDatabase()
{ “ok” : 1 }
show collections或tables
one
db.createCollection(‘python’)
{ “ok” : 1 }
show collections
one
python
db.python.drop()
true
db.student.insert({‘name’:‘xiaolin’,‘age’:21,‘sex’:1})
WriteResult({ “nInserted” : 1 })
db.student.insert({‘name’:‘yuanlou’,‘age’:18,‘sex’:1})
WriteResult({ “nInserted” : 1 })
db.student.insert({‘name’:‘kuilai’,‘age’:28,‘sex’:1})
WriteResult({ “nInserted” : 1 })
db.student.insert({‘name’:‘jianmin’,‘age’:32,‘sex’:1})
WriteResult({ “nInserted” : 1 })
db.student.find()
{ “_id” : ObjectId(“5d8adc806b39e6fe2e26d359”), “name” : “xiaolin”, “age” : 21,
“sex” : 1 }
{ “_id” : ObjectId(“5d8adcc76b39e6fe2e26d35a”), “name” : “yuanlou”, “age” : 18,
“sex” : 1 }
{ “_id” : ObjectId(“5d8adcff6b39e6fe2e26d35b”), “name” : “kuilai”, “age” : 28, "
sex" : 1 }
{ “_id” : ObjectId(“5d8add296b39e6fe2e26d35c”), “name” : “jianmin”, “age” : 32,
“sex” : 1 }
12.删除文档
db.student.remove({条件}),如果只想删除1条数据,条件后面加上1或true
db.student.update({‘name’:‘jianmin’},{$set:{‘sex’:‘2’}},false,false)
----后面两个参数默认false,
第一个:表示找不到条件匹配出来的文档时是否插入插入一条新的文档
第二个:表示匹配到的文档是否全部修改,默认修改第一条
WriteResult({ “nMatched” : 1, “nUpserted” : 0, “nModified” : 1 })
{
“_id” : ObjectId(“5d8adcff6b39e6fe2e26d35b”),
“name” : “kuilai”,
“age” : 28,
“sex” : 1,
“girlfriend” : “快去找”,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8add296b39e6fe2e26d35c”),
“name” : “jianmin”,
“age” : 32,
“sex” : “2”
}
{
“_id” : ObjectId(“5d8b0b7e6b39e6fe2e26d35e”),
“name” : “renxiang”,
“age” : 24,
“sex” : 1,
“class” : “p0610”
}
db.student.update({‘age’:{KaTeX parse error: Expected 'EOF', got '}' at position 6: lt:18}̲,'sex':1},{set:{‘class’:‘python0610’}},true
,true)
WriteResult({
“nMatched” : 0,
“nUpserted” : 1,
“nModified” : 0,
“_id” : ObjectId(“5d8b0f75dc5f2f916feca6cf”)
})
db.student.find().pretty()
{
“_id” : ObjectId(“5d8adc806b39e6fe2e26d359”),
“name” : “xiaolin”,
“age” : 21,
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8adcc76b39e6fe2e26d35a”),
“name” : “yuanlou”,
“age” : 18,
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8adcff6b39e6fe2e26d35b”),
“name” : “kuilai”,
“age” : 28,
“sex” : 1,
“girlfriend” : “快去找”,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8add296b39e6fe2e26d35c”),
“name” : “jianmin”,
“age” : 32,
“sex” : “2”
}
{
“_id” : ObjectId(“5d8b0b7e6b39e6fe2e26d35e”),
“name” : “renxiang”,
“age” : 24,
“sex” : 1,
“class” : “p0610”
}
{
“_id” : ObjectId(“5d8b0f75dc5f2f916feca6cf”),
“sex” : 1,
“class” : “python0610”
}
db.student.update({‘age’:{KaTeX parse error: Expected 'EOF', got '}' at position 6: lt:18}̲,'sex':1},{set:{‘class’:‘php0610’}},true,tru
e)
WriteResult({
“nMatched” : 0,
“nUpserted” : 1,
“nModified” : 0,
“_id” : ObjectId(“5d8b1089dc5f2f916feca724”)
})
db.student.find().pretty()
{
“_id” : ObjectId(“5d8adc806b39e6fe2e26d359”),
“name” : “xiaolin”,
“age” : 21,
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8adcc76b39e6fe2e26d35a”),
“name” : “yuanlou”,
“age” : 18,
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8adcff6b39e6fe2e26d35b”),
“name” : “kuilai”,
“age” : 28,
“sex” : 1,
“girlfriend” : “快去找”,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8add296b39e6fe2e26d35c”),
“name” : “jianmin”,
“age” : 32,
“sex” : “2”
}
{
“_id” : ObjectId(“5d8b0b7e6b39e6fe2e26d35e”),
“name” : “renxiang”,
“age” : 24,
“sex” : 1,
“class” : “p0610”
}
{
“_id” : ObjectId(“5d8b0f75dc5f2f916feca6cf”),
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8b1089dc5f2f916feca724”),
“sex” : 1,
“class” : “php0610”
}
db.student.update({‘age’:{KaTeX parse error: Expected 'EOF', got '}' at position 6: gt:68}̲,'sex':1},{set:{‘class’:‘python0610’}},true,
true)
WriteResult({
“nMatched” : 0,
“nUpserted” : 1,
“nModified” : 0,
“_id” : ObjectId(“5d8b1109dc5f2f916feca749”)
})
db.student.find().pretty()
{
“_id” : ObjectId(“5d8adc806b39e6fe2e26d359”),
“name” : “xiaolin”,
“age” : 21,
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8adcc76b39e6fe2e26d35a”),
“name” : “yuanlou”,
“age” : 18,
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8adcff6b39e6fe2e26d35b”),
“name” : “kuilai”,
“age” : 28,
“sex” : 1,
“girlfriend” : “快去找”,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8add296b39e6fe2e26d35c”),
“name” : “jianmin”,
“age” : 32,
“sex” : “2”
}
{
“_id” : ObjectId(“5d8b0b7e6b39e6fe2e26d35e”),
“name” : “renxiang”,
“age” : 24,
“sex” : 1,
“class” : “p0610”
}
{
“_id” : ObjectId(“5d8b0f75dc5f2f916feca6cf”),
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8b1089dc5f2f916feca724”),
“sex” : 1,
“class” : “php0610”
}
{
“_id” : ObjectId(“5d8b1109dc5f2f916feca749”),
“sex” : 1,
“class” : “python0610”
}
db.student.find({KaTeX parse error: Expected '}', got 'EOF' at end of input: or:[{'age':{gte:18}},{‘year’:‘95’},{‘year’:‘2000’}],'salary
':{$gte:10000}})
{ “_id” : ObjectId(“5d8b1643d05d64fd2467820c”), “name” : “zihao”, “year” : “95”,
“salary” : 20000 }
{ “_id” : ObjectId(“5d8b166cd05d64fd2467820d”), “name” : “chaoyang”, “year” : “2
000”, “salary” : 12000 }
db.student.find({‘age’:{$gt:18}}).pretty()
{
“_id” : ObjectId(“5d8adc806b39e6fe2e26d359”),
“name” : “xiaolin”,
“age” : 21,
“sex” : 1,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8adcff6b39e6fe2e26d35b”),
“name” : “kuilai”,
“age” : 28,
“sex” : 1,
“girlfriend” : “快去找”,
“class” : “python0610”
}
{
“_id” : ObjectId(“5d8add296b39e6fe2e26d35c”),
“name” : “jianmin”,
“age” : 32,
“sex” : “2”
}
{
“_id” : ObjectId(“5d8b0b7e6b39e6fe2e26d35e”),
“name” : “renxiang”,
“age” : 24,
“sex” : 1,
“class” : “p0610”
}
db.student.update({‘salary’:{KaTeX parse error: Expected 'EOF', got '}' at position 8: gt:8000}̲,'year':2000},{set:{‘sex’:0}},false,tru
e)
WriteResult({ “nMatched” : 0, “nUpserted” : 0, “nModified” : 0 })
db.col.find({“title” : {$type : 2}})
db.student.find().limit(数量)
db.student.find({},{“title”:1,_id:0}).limit(1).skip(1)
{ “title” : “Java 教程” }
db.COLLECTION_NAME.find().sort({KEY:1})
在MongoDB中使用使用sort()方法对数据进行排序,
sort()方法可以通过参数指定排序的字段,
并使用 1 和 -1 来指定排序的方式,
其中 1 为升序排列,而-1是用于降序排列
db.student.count()
aggregate()
聚合表达式:
(1)$sum 【计算总和】
例:
db.col.aggregate( [ { $group : { _id : “name” , num : { KaTeX parse error: Expected 'EOF', got '}' at position 15: sum : "likes" }̲} } ] ) --根据 na…avg【计算平均值】
例:
db.col.aggregate( [ { $group : { _id : “name” , num : { a v g : " avg : " avg:"likes" }} } ] )’’
–根据 name 分组 并求 likes 的平均值
(3)$min【获取集合中所有文档对应值得最小值】
例:
db.col.aggregate( [ { $group : { _id : “name” , num : { m i n : " min : " min:"likes" }} } ] )’’
–根据 name 分组 并求 likes 的最小值
(4)$max【获取集合中所有文档对应值得最大值】
例:
db.col.aggregate( [ { $group : { _id : “name” , num : { KaTeX parse error: Expected 'EOF', got '}' at position 15: max : "likes" }̲} } ] )'' --根据…first【根据资源文档的排序获取第一个文档数据】
db.col.aggregate( [ { $group : { _id : “name” , first_url : { f i r s t : " first : " first:"url" }} } ] )’’
–根据 name 分组 并获取第一个数据
(6)$last【根据资源文档的排序获取最后一个文档数据】
例:
db.col.aggregate( [ { $group : { _id : “name” , last_url : { l a s t : " last : " last:"url" }} } ] )’’
–根据 name 分组 并获取最后一个数据
python 中mongodb的使用:
Python 访问 MongoDB
对于使用 Python 访问 MongoDB,需要先安装 PyMongo
软件包,该包实现了 Python 的 MongoDB 驱动。
通过以下命令建立工作环境,安装软件包:
$ sudo pip install pymongo
安装后使用 pip3 list查看是否存在pymongo
创建脚本或使用命令行模式
#链接到 127.0.0.1 的mongo
client = pymongo.MongoClient(‘127.0.0.1’, 27017)
#选择test库
db = client.test
#print(db)
查询所有数据 db.test.find()
for user in db.test.find():
print(user)
print(’
’)
通过 PyMongo 插入数据也非常简单,直接通过 insert
方法:
#定义数据
data = {‘name’: ‘Aiden’, ‘age’: 30}
#执行数据添加
db.test.insert(data)