两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 |
public:it:mongodb [2018/09/06 11:07] – [Tutorials] oakfire | public:it:mongodb [2019/10/15 18:06] (当前版本) – [Tips] oakfire |
---|
</code> | </code> |
* admin 数据库里有用户后,后续操作就需要认证。用户管理需要以 admin 数据库登录再 ''use dbname'' ,然后用[[https://docs.mongodb.com/manual/reference/method/#user-management-methods|用户管理函数]]操作 | * admin 数据库里有用户后,后续操作就需要认证。用户管理需要以 admin 数据库登录再 ''use dbname'' ,然后用[[https://docs.mongodb.com/manual/reference/method/#user-management-methods|用户管理函数]]操作 |
* 可以给用户添加''dbAdminAnyDatabase''角色以操作所有数据库数据(userAdmin 只操作用户)。 | * 可以给用户添加''dbAdminAnyDatabase''角色以操作所有数据库角色(userAdmin 只操作当前数据库用户)。 |
* 客户端或 shell 登录时如果指定了数据库名称,那么<wrap em>就只能用该数据库里的用户登录</wrap>(''db.getUsers()''里列出的)。 | * 客户端或 shell 登录时如果指定了数据库名称,那么<wrap em>就只能用该数据库里的用户登录</wrap>(''db.getUsers()''里列出的)。 |
| * 查看数据库状态的角色是 ''clusterMonitor'', 给用户添加角色 <code javascript>db.grantRolesToUser( |
| "myuser", |
| [ |
| { role: "clusterMonitor", db:"admin"} |
| ] |
| );</code> |
===== Tools ===== | ===== Tools ===== |
==== Mongoose ==== | ==== Mongoose ==== |
* mongo 的 collections 数量限制上限为命名空间数量,命名空间包括 collection 名称与索引名称, 上限大概为24000个,可调整。<wrap em>但 [[https://docs.mongodb.com/manual/reference/limits/| 新的 WiredTiger 引擎不受此限制]] | * mongo 的 collections 数量限制上限为命名空间数量,命名空间包括 collection 名称与索引名称, 上限大概为24000个,可调整。<wrap em>但 [[https://docs.mongodb.com/manual/reference/limits/| 新的 WiredTiger 引擎不受此限制]] |
</wrap> | </wrap> |
| * mongo 默认的 _id 是默认索引,前四字节为 unixtime 秒数,即''ObjectId("59d0a08032b1ec00019f70b9"''的''59d0a080''为 unixtime, 可用此来按插入时间操作数据, 比如<code javascript> db.testData.find({"_id" : { $lt: ObjectId("59d0a0800000000000000000")} })</code> |
| * mongo3 删除数据或者表并不会释放磁盘空间,释放磁盘空间可以删除数据库 ''db.dropDatabase()'', 或者使用 ''db.repairDatabase()'', 但是后者必须空余的磁盘空间大于数据库实际大小才能成功。释放磁盘空间方法参考:https://yq.aliyun.com/articles/606187 |
| |
| |
| |