MongoDB

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})