windows 下创建服务:
创建数据库
我们通过使用“use new-databasename”的语法去使用一个新的数据库,注意,即使你的数据库还没建立起来,依然可以这样使用,因为mongodb会在真正插入了数据后,才会真正建立起来。
>use mkyongdb
switched to db mkyongdb
> show dbs
admin 0.03125GB
local (empty)
注意,在use mkyongdb后,mkyongdb实际上还没真正建立起来,只是表明目前是在使用mkyongdb了。
3)保存数据
定义一个collection,名为“users”,然后插入数据,如下:
> db.users.save( {username:"mkyong"} )
> db.users.find()
{ "_id" : ObjectId("4dbac7bfea37068bd0987573"), "username" : "mkyong" }
>
> show dbs -www.linuxidc.com-
admin 0.03125GB
local (empty)
mkyongdb 0.03125GB
可以看到,用db.users.find()可以找出已插入的数据。这个时候,名为“users”的collection已经建立起来了,同时,数据库mkyongdb也建立起来了。
mongod --dbpath=D:/MongoDB/data --logpath=D:/MongoDB/logs/mongodb.log --directoryperdb --auth --serviceName=MongoDB --install
mongod --auth --logpath "D:/MongoDB/logs/mongodb.log" --logappend --dbpath "D:/MongoDB/data" --directoryperdb --serviceName MongoDB --reinstall
mongod --dbpath "D:\Program Files\mongodb\data\db" --logpath "D:\Program Files\mongodb\data\log\MongoDB.log" --auth
创建管理员:
db.createUser({user:"root",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"}]});
db.createUser({user:"admin",pwd:"123456",roles:[{role:"userAdminAnyDatabase",db:"admin"},{role:"readWriteAnyDatabase",db:"admin"}]});
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]});
db.createUser({user:'appUser',pwd:'123456',roles:[{role:'dbOwner',db:'blog'}]}
给角色追加权限:
db.grantRolesToUser('appUser',[{'role':'dbOwner', 'db':'node_club_dev'}])
连接数据库:
mongo localhost/blog -u appUser -p 123456
mongo --port 27017 -u admin -p 123456 --authenticationDatabase admin
删除Windows服务:
首先在服务设置里把当前的MongoDB服务停止。
然后在命令行运行(当前路径随便在哪里都可以): sc delete MongoDB
问题:
1.MongoDB服务无法启动,发生服务特定错误:100
原因:没有正常关闭mongod服务,导致mongod被锁
解决方案:进入db文件夹,删除mongod.lock文件,然后重新启动服务即可
2.MongoDB_3.0后 app 认证问题
由于之前使用的system.version文档里面的authSchema版本为3,而初始安装时是5,故需修改为3
首先切换至未认证模式,连接终端后执行:
> use admin
switched to db admin
> var schema = db.system.version.findOne({"_id" : "authSchema"})
> schema.currentVersion = 3
3
> db.system.version.save(schema)
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
进入你的app所使用的库(以下脚本需在以上脚本之后执行,否则需删除用户( db.dropUser("appUser") ),重新创建)
> use blog
> db.createUser({user:'appUser', pwd:'123456',roles:[{role:'dbOwner',db:'blog'}]})
-----------------------------------------------------------------------------------------
1、一次性插入多条数据
for(var i=0;i<100000;i++){
db.stock.insert({"name":"zhouchen"+i,"age":i});
}
2.查看执行计划.具体执行时间等信息
db.stock.find({"name":"zhouchen10000"}).explain("executionStats");
3.建立索引
db.stock.ensureIndex({"name":1},{"unique":true})
4、查看当前集合索引
db.stock.getIndexes();
5、删除索引
db.stock.dropIndexes("index_name");
6.主从复制
http://www.cnblogs.com/huangxincheng/archive/2012/03/04/2379755.html
7;新增字段{$set{}}
db.pingpun.update({gouride:'王聘群'},{$set{usersid:'57c67751b2da96da3b6dc3c5'}})
8.db.pingpun.find({}).skip(0).limit(6); 分页
9:求总记录数 db.pingpun.find({usersid:'57c67751b2da96da3b6dc3c5'}).count();
-------------------------------------------------------------------------------------------
本文介绍了如何在Windows环境下配置和管理MongoDB服务,包括创建数据库和服务、用户管理、解决常见问题等,并提供了实例演示数据操作及索引管理。
1495

被折叠的 条评论
为什么被折叠?



