安装mongo
sudo apt-get install mongodb
创建用户:
输入:use admin
输入:db.createUser(‘zz’,‘123’)创建了一个用户名为zz,密码为123的用户,赋予最高权限
配置文件:
mongodb.conf
#详细记录输出
verbose = true
#绑定IP
bind_ip = 0.0.0.0
#指定服务端口号
port = 27017
#指定日志文件,注意是指定文件不是目录
logpath = /var/log/mongodb/logs/mongodb.log
#使用追加方式写日志
logappend = true
#指定数据库路径
dbpath = /var/lib/mongodb/db
#设置每个数据库将被保存在一个单独的目录
directoryperdb = true
#启用验证
auth = false
#以守护进程的方式运行MongoDB,创建服务器进程
fork = true
#安静退出
quiet = true
基本命令(帮助命令)
db.help()
db.yourColl.help();
db.youColl.find().help();
rs.help();
#================数据库===========================
use dbname 创建/切换数据库
show dbs 查看所有的数据库
db.dropDatabase(); 删除数据库
db.cloneDatabase(“127.0.0.1”); 克隆数据库
db.copyDatabase("mydb", "temp", "127.0.0.1");将本机的mydb的数据复制到temp数据库中
db.repairDatabase(); 修复当前数据库
db.getName(); 查看当前数据库
db.getMongo(); 查看当前的链接地址
#=================collection======================
db.createCollection(“collName”, {size: 20, capped: 5, max: 100});创建一个数据集合
db.getCollection("account"); 得到集合
db.getCollectionNames(); 所有集合的名字
db.printCollectionStats(); 所有集合的状态
db.yourColl.count(); 数目
db.userInfo.find(); ==select * from userInfo
db.userInfo.find({"age": 22}); ==select * from userInfo where age=22
db.userInfo.find({age: {$in: 22,23}}); ==select * from userInfo where age in [22,23]
db.userInfo.find({age: {$gt: 22}}); $regex还有个这东西
db.userInfo.find({age: {$lt: 22}});
db.userInfo.find({age: {$gte: 25}});
db.userInfo.find({age: {$gte: 23, $lte: 26}});
db.userInfo.find({name: /mongo/}); ==select * from userInfo where name like ‘%mongo%’;
db.userInfo.find({name: /^mongo/}); ==select * from userInfo where name like ‘mongo%’;
db.userInfo.find({}, {name: 1, age: 1});==select name, age from userInfo;
db.userInfo.find({age: {$gt: 25}}, {name: 1, age: 1}); ==select name, age from userInfo where age >25;
db.userInfo.find().sort({age: 1});
db.userInfo.find().sort({age: -1});
db.userInfo.find({name: 'zhangsan', age: 22}); ==select * from userInfo where name = ‘zhangsan’ and age = ‘22’;
db.userInfo.find().limit(5); ==selecttop 5 * from userInfo;
db.userInfo.find().skip(10); ==select * from userInfo where id not in (selecttop 10 * from userInfo);
db.userInfo.find().limit(10).skip(5); 查询在5-10之间的数据
db.userInfo.find({age: {$gte: 25}}).count();
db.userInfo.distinct("name"); 去重复
db.users.save({name: ‘zhangsan’, age: 25, sex: true}); 添加
db.users.update({age: 25}, {$set: {name: 'changeName'}}, false, true); 修改
==update users set name = ‘changeName’ where age = 25;
db.users.update({name: 'Lisi'}, {$inc: {age: 50}, $set: {name: 'hoho'}}, false, true);
==update users set age = age + 50, name = ‘hoho’ where name = ‘Lisi’;
db.users.remove({age: 132}); 删除
#=================user============================
db.addUser("name","password",true==readonly)
db.auth("zz",'123') 数据库的认证
show users
db.removeUser("zz")
#====================else==========================
db.getPreError()
db.resetError();
#=====================index========================
db.userInfo.ensureIndex({name: 1});
db.userInfo.ensureIndex({name: 1, ts: -1});
db.userInfo.getIndexes();
db.users.reIndex();
db.users.dropIndex("name_1");
db.users.dropIndexes();
db.users.findAndModify({
query: {age: {$gte: 25}},
sort: {age: -1},
update: {$set: {name: 'a2'}, $inc: {age: 2}},
remove: true
});
db.runCommand({ findandmodify : "users",
query: {age: {$gte: 25}},
sort: {age: -1},
update: {$set: {name: 'a2'}, $inc: {age: 2}},
remove: true
});
use in python3
1,安装pip3 install pymongo
#!/usr/bin/python3
import pymongo
myclient = pymongo.MongoClient("mongodb://dd:123@localhost:27017/")
mydb = myclient["mytest"]
mycol = mydb["sites"]
mydict = { "name": "RUNOOB", "alexa": "10000", "url": "https://www.runoob.com"}
x = mycol.insert_one(mydict)

#!/usr/bin/python3
import pymongo
from collections import OrderedDict
myclient = pymongo.MongoClient("mongodb://dd:123@localhost:27017/")
mydb = myclient["mytest"]
mycol = mydb["sites"]
# 集合的查看
collist = mydb. list_collection_names()
mycol.delete_many({})
print(collist)
# 进行插入
def insertData():
mydict = {"name": "RUNOOB", "alexa": "10000", "url": "https://www.runoob.com"}
mycol.insert_one(mydict)
mylist = [
{"name": "Taobao", "alexa": "100", "url": "https://www.taobao.com"},
{"name": "QQ", "alexa": "101", "url": "https://www.qq.com"},
{"name": "Facebook", "alexa": "10", "url": "https://www.facebook.com"},
{"name": "知乎", "alexa": "103", "url": "https://www.zhihu.com"},
{"name": "Github", "alexa": "109", "url": "https://www.github.com"}
]
mycol.insert_many(mylist)
# 进行查询
def displaySql(sql):
for x in mycol.find(sql, {"_id": 0, "name": 1, "url": 1}).sort("name", -1): # 1是显示
for stri in OrderedDict(x).values():
print('%-30s' % stri, end='')
print()
# delete
def deleteDate():
mycol.delete_one({"name": "百度"})
mycol.delete_many({"name": "百度"})
# update
def updateData():
mycol.update_one({"name": '知乎', }, {"$set": {"url": "www.baidu.com"}})
mycol.update_many({"name": {"$regex": "^R"}}, {"$set": {"name": "百度"}})
print("Data insert")
insertData()
sql = {}
displaySql(sql)
print("display Data")
sql = {"name": {"$in": ['知乎', 'QQ']}}
displaySql(sql)
print("update Data")
sql = {}
displaySql(sql)
print("delete Data")
updateData()
displaySql(sql)
'''
result:
['sites', 'system.indexes']
Data insert
知乎 https://www.zhihu.com
Taobao https://www.taobao.com
RUNOOB https://www.runoob.com
QQ https://www.qq.com
Github https://www.github.com
Facebook https://www.facebook.com
display Data
知乎 https://www.zhihu.com
QQ https://www.qq.com
update Data
知乎 https://www.zhihu.com
Taobao https://www.taobao.com
RUNOOB https://www.runoob.com
QQ https://www.qq.com
Github https://www.github.com
Facebook https://www.facebook.com
delete Data
知乎 www.baidu.com
百度 https://www.runoob.com
Taobao https://www.taobao.com
QQ https://www.qq.com
Github https://www.github.com
Facebook https://www.facebook.com
'''
本文介绍了如何在Ubuntu系统中安装MongoDB,创建具有管理员权限的用户,并通过Python3使用pymongo库进行连接。步骤包括运行sudo apt-get install mongodb安装MongoDB,使用admin数据库创建用户,以及通过pip3 install pymongo安装Python驱动。
360

被折叠的 条评论
为什么被折叠?



