sudo service mongod start/var/log/mongodb/mongod.logmongo [–port ][–host ]进入mongodb命令行, 默认port为27017, host localhost helpshow dbs 或show databasesdbuse dbname 可以直接切换到一个不存在的db来插入数据, 相当于创建.show collections 或 show tablestestData,命令执行后会自动创建j = { name : "mongo" } k = { x : 3 } db.testData.insert( j ) db.testData.insert( k ) //或者循环插入 for (var i = 1; i <= 25; i++) db.testData.insert( { x : i } )
db.testData.find(). _id, 如果没指定, 会自动创建一个.find()或其它获取方式的返回数据, 称为cursor, 可对此结果进行操作, 比如var c = db.testData.find() while ( c.hasNext() ) printjson( c.next() )
db.testData.getIndexes()db.testData.createIndex({ "your_index": 1})//1为正序,-1为逆序
db.log_events.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 3600 } ) //表示在文档索引"createAt"设定的时间值之后3600秒自动删除此条文档
–auth 才开启用户认证;userAdminAnyDatabase,即能对所有数据库进行用户管理;use admin; db.createUser( { user: "myUserAdmin", pwd: "abc123", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
use dbname ,然后用用户管理函数操作dbAdminAnyDatabase角色以操作所有数据库角色(userAdmin 只操作当前数据库用户)。db.getUsers()里列出的)。clusterMonitor, 给用户添加角色 db.grantRolesToUser( "myuser", [ { role: "clusterMonitor", db:"admin"} ] );
ObjectId(“59d0a08032b1ec00019f70b9”的59d0a080为 unixtime, 可用此来按插入时间操作数据, 比如db.testData.find({"_id" : { $lt: ObjectId("59d0a0800000000000000000")} })
db.dropDatabase(), 或者使用 db.repairDatabase(), 但是后者必须空余的磁盘空间大于数据库实际大小才能成功。释放磁盘空间方法参考:https://yq.aliyun.com/articles/606187