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。

  

原文地址:https://www.cnblogs.com/yuekong2010/p/6811895.html