最近莫名的爱上CSDN,把自己当初学习MongoDB的一些笔记分享出来。后续的其他学习时候的资料,也陆续发出来。
MongoDB命令解释
服务器 mongod.exe
路由 mongos.exe
客户端 mongo.exe
监控工具 mongostart.exe mongotop.exe
导入导出工具 mongodump.exe mongorestore.exe mongoexport.exe mongoimport.exe
其他工具 bsondump.exe mongofiles.exe mongoperf.exe
mongoDB数据库启动方式:mongod --dbpath c:\(路径)
连接mongo数据库命令:命令行直接mongo
MongoDB Shell
在mongo中直接使用use就可以切换数据库,不管它有被没有创建。
显示当前数据库 db
显示当前有的数据库 show dbs
显示表列表 show tables
显示某一表的数据 db.xx.find().pretty()
插入一行数据:db.my_col.insertOne({x:1})
查询一条语句:db.my_col.find()
db表示当前使用的数据库
my_col表示使用的表名
格式化shell输出pretty()
db.myCollection.find().pretty()
在shell中使用多行数据:
for(var x=1;x<10;x++){
... db.myConnection.insertOne({a:x});
... }
插入多行数据:
db.qqq(表名).insertMany([
...列表
...列表
])
创建主键方式:
db.qqq.insertOne([
..._id:列明
})
查询
db.表名.find({}).pretty()
{}里面写条件 如:{age:18}
使用查询操作符
db.表名称.find({sex: "nan",age:{$lt:30}}).pretty()
select * from 表名 where sex="nan" and age<30
in
db.person.find( { salary: { $in: [ 6000, 8000 ] } } ).pretty()
SELECT * FROM person WHERE salary in (6000, 8000)
or
db.person.find( {
sex: "female",
$or: [ { age: { $lt: 20 } }, { name: /^r/ } ]
} ).pretty()
SELECT * FROM person WHERE sex = "female" AND ( age < 20 OR name LIKE "r%")
and和or条件
db.person.find( {
sex: "female",
$or: [ { age: { $lt: 20 } }, { name: /^r/ } ]
} ).pretty()
SELECT * FROM person WHERE sex = "female" AND ( age < 20 OR name LIKE "r%")
更新
更新单个
db.collection.updateOne(<filter>, <update>, <options>)
更新多个
db.collection.updateMany(<filter>, <update>, <options>)
更新文档
db.collection.replaceOne(<filter>, <replacement>, <options>)
删除
db.collection.deleteMany()
db.collection.deleteOne()
删除单个文档
db.person.deleteOne( { name: "tom" } )
{ "acknowledged" : true, "deletedCount" : 1 }
删除多个文档
db.person.deleteMany({ age : {$gt: 20} })
{ "acknowledged" : true, "deletedCount" : 2 }
使用python连接mongo
获得数据库连接:
import pymongo
from pymongo import MongoClient
client = MongoClient('localhost',27017)
db = client['数据库名称']
print(db)
customers =db['表名']
添加单个文档:
customers = db['customer']
customer = {
'name':'tom',
'age':20
}
customers.insert_one(customer)
print(customers.find_one({'name':'tom'})
添加多个文档:
many = [
{
'name': 'tom',
'age': 20,
},
{
'name': 'kite',
'age': 21,
},
{
'name': 'rose',
'age': 18,
}
]
customers.insert_many(many)
查询文档:
查询一条数据:
customers.find_one({'name':'tom'})
根据ObjectId查询
from bson.objectid import ObjectId
customers.find_one({'_id':ObjectId('asdasdasdasd')})
查询多个文档:
for customer in customers.find():
print(customer['name'])
整理的有些乱。见谅~!