MongoDB 入门教程
http://www.runoob.com/mongodb/mongodb-tutorial.html
.net 驱动程序下载:
http://mongodb.github.io/mongo-csharp-driver/
https://www.nuget.org/packages/MongoDB.Driver/2.2.3
MongoVUE无法看到collection明细记录的解决方法
MongoDB 3.2之后默认启动的是wiredTiger 引擎这个引擎和原来的引擎访问方式不一样。你用命令mongod --storageEngine mmapv1 --dbpath 数据目录 这样启动的是原来的数据引擎在用MongoVE连接就可以了
详见:http://my.oschina.net/chiyong/blog/599326?fromerr=I2dldtre
ps,wiredTiger为新版存储引擎,性能比mmapv1 要好,启用压缩后,占用的存储空间按比mmapv1小。详见:http://my.oschina.net/chiyong/blog/599326?fromerr=I2dldtre
其他更好的方法,用Robomongo替换MongoVE,可以支持两种存储引擎。
setup.bat
cd C:Program FilesMongoDBServer3.2in mongod.exe --storageEngine mmapv1 --logpath "C: empmongodblogmongodb.log" --logappend --dbpath "C: empmongodbdata" --port 6111 --serviceName "MongoDB" --serviceDisplayName "MongoDB Server" --install net start MongoDB pause
remove.bat
cd C:Program FilesMongoDBServer3.2in mongod.exe --storageEngine mmapv1 --logpath "C: empmongodblogmongodb.log" --logappend --dbpath "C: empmongodbdata" --port 6111 --serviceName "MongoDB" --serviceDisplayName "MongoDB Server" --install net start MongoDB pause
MongoDB安全相关,服务启动加参数 --auth,设置用户名密码,见官方文档:https://docs.mongodb.com/manual/reference/method/db.createUser/
> db.createUser({user:"wilson",pwd:"123456",roles:[]}) Successfully added user: { "user" : "wilson", "roles" : [ ] } >
加了验证后的访问url为:
"mongodb://user1:123@192.168.160.132/dbdemo1/?socketTimeout=1s";
db.createUser( { user: "admin", pwd: "admin123", roles: [ { role: "readWrite", db: "gps_current_ps" }, { role: "readWrite", db: "ob_active_ps" }, { role: "readWrite", db: "StudentDB" } ]} ) db.auth( { user: "admin", pwd: "admin123", } )
使用MongoDB.Driver.GridFS进行文件读写操作
using System.IO; using System.Linq; using System.Text; using MongoDB.Driver; using MongoDB.Driver.GridFS; static void Main(string[] args) { string mongoUrl = "mongodb://192.168.0.226:6111/?socketTimeout=1s"; MongoServerSettings setting = MongoServerSettings.FromUrl(MongoUrl.Create(mongoUrl)); MongoServer server = new MongoServer(setting); MongoGridFSSettings settting2 = new MongoGridFSSettings(); MongoGridFS fs = new MongoGridFS(server, "StudentDB", settting2); MongoGridFSFileInfo fi = fs.Upload("c:\test.doc", "中文测试.doc"); byte[] buffer = new byte[1024]; using (MongoGridFSStream readStream = fs.OpenRead("中文测试.doc")) { FileStream writeStream = new FileStream("c:\20160601.doc", FileMode.OpenOrCreate); int length = readStream.Read(buffer,0,buffer.Length); while(length>0) { writeStream.Write(buffer, 0, length); length = readStream.Read(buffer,0,buffer.Length); } }
db.getCollection('fs.files').find({}) db.getCollection('fs.chunks').find({})
写入成功后,文件保存在files及chunks两个集合
db.createUser( { user: "psuser", pwd: "tydbadmin", roles: [ { role: "readWrite", db: "gps_current_ps" }, { role: "readWrite", db: "ob_active_ps" }, { role: "readWrite", db: "StudentDB" }, { role: "dbAdmin", db: "gps_current_ps" }, { role: "dbAdmin", db: "ob_active_ps" }, { role: "dbAdmin", db: "StudentDB" }, ]} ) db.auth( { user: "psuser", pwd: "tydbadmin", } ) db.auth( { user: "admin", pwd: "admin123", } ) db.collection.createIndex( {ObjID:1, Date: 1 } ) db.collection.createIndex( {Date: 1 } ) db.collection.createIndex( { orderDate: 1 } )