mongodb笔记
---恢复内容开始---
一、管理
(一)用户管理
1、用户创建
(1)创建命令db.createUser({user: "zjyr",pwd: "zjyr",roles: [{ role: "read", db: "test" }]})
db.createUser({user: "zjyr",pwd: "zjyr",roles: [{ role: "read", db: "test" }]})
(2)角色介绍
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
2、索引建立
(1)db.test.ensureIndex({"username":1})
二、C#调用
(一)连接
var client = new MongoClient("mongodb://dba:dba@192.168.1.88:27017"); var database = client.GetDatabase("Power"); var collection = database.GetCollection<Person>("bar");
(二)objectId自动生成
ObjectId _id = ObjectId.GenerateNewId()
(三)时间差异
以实体去查询mongodb数据,时间滞后8小时。
(四)操作
1、【BsonIgnoreExtraElements】实体增加属性可以自动忽略额外字段。
2、存在更新,不存在就插入。UpdateOptions updateOptions = new UpdateOptions() { IsUpsert = true };
dbCurrentData.ReplaceOne(itemFilter, item, updateOptions);
三、集群
(一)主从配置
从库已存在的集合才会去主库同步数据。
启动配置
port = 27017 # 实例运行在27017端口(默认) dbpath = /MongoDB/Server/data # 数据文件夹存放地址(db要预先创建) # logpath = logs/27017.log # 日志文件地址 #logappend = false # 启动时 添加还是重写日志文件 #fork = true # 是否后台运行 auth = true # 开启校验用户 keyFile=/MongoDB/Server/key.keyfile master = true slave = true source = 125.125.125.125 #slavedelay = 5 #设置从库同步主库的延迟时间,用于从设置,默认为0。