MongoDB
创建数据库
> use DATABASE_NAME
switched to db runoob
> db
runoob
如果你想查看所有数据库,可以使用 show dbs 命令:
> show dbs
admin 0.000GB
local 0.000GB
可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。
> db.runoob.insert({"name":"菜鸟教程"})
WriteResult({ "nInserted" : 1 })
删除数据库
> use runoob
> db.dropDatabase()
{ "dropped" : "runoob", "ok" : 1 }
删除集合
db.collection.drop()
创建集合
db.createCollection(name, options)
> use test
switched to db test
> db.createCollection("runoob")
{ "ok" : 1 }
>
如果要查看已有集合,可以使用 show collections 命令:
> show collections
runoob
system.indexes
连接
创建用户
$ brew services start mongodb
$ mongo
> use admin
> db.createUser({ user: "root" , pwd: "root", roles: ["root"]}) # 创建超级用户
> db.auth('root', 'root') # 验证用户是否设置成功,1为成功
$ vi /usr/local/etc/mongod.conf # 更改mongodb配置文件
配置文件开启强制验证,增加如下内容:
security:
authorization: "enabled"
$ brew services restart mongodb
连接
# -*- encoding: utf-8 -*-
'''
python连接MongoDB非关系型数据库案例
Author: Michael
Date: 2019-01-16
Language: 3.7.2
'''
import pymongo
# 账号密码方式连接MongoDB | "mongodb://用户名:密码@公网ip:端口/"
client = pymongo.MongoClient("mongodb://root:root@127.0.0.1:27017/")
# 指定数据库
db = client.test
# 指定集合
collection = db.students
# 插入数据
student = {'id': '20190101', 'name': 'Tom3', 'age': 20, 'gender': 'female'}
ret = collection.insert_one(student)
print('insert_id:', ret.inserted_id)
# 更新数据
condition = {'name': 'Tom3'}
edit = {'age': 21}
ret = collection.update_one(condition, {'$set': edit})
print('update:', ret.matched_count, ret.modified_count)
# 查询
info = collection.find_one(condition)
print('select:', info)
# 计数
count = collection.count_documents({})
print('count:', count)
# 删除数据
ret = collection.delete_one(condition)
print('delete:', ret.deleted_count)
创建用户名密码
mongo --port 27017
use admin
db.createUser(
{
user: "root",
pwd: "root",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
mongodb robot3t 查询
db.getCollection('StatisticsEvent').find({"properties":{$regex:"mrID"},"name":"pad_click_send_name","basic.cId":"1212_06a50e3f66db4a334202d3adfd31c589"})
"properties":{$regex:"mrID"}
.sort({"time":-1})