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 Files\MongoDB\Server\3.2\bin
mongod.exe --storageEngine mmapv1 --logpath "C:\temp\mongodb\log\mongodb.log" --logappend --dbpath "C:\temp\mongodb\data" --port 6111 --serviceName "MongoDB" --serviceDisplayName "MongoDB Server" --install net start MongoDB pause
remove.bat
cd C:\Program Files\MongoDB\Server\3.2\bin
mongod.exe --storageEngine mmapv1 --logpath "C:\temp\mongodb\log\mongodb.log" --logappend --dbpath "C:\temp\mongodb\data" --port --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:"",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[];
using (MongoGridFSStream readStream = fs.OpenRead("中文测试.doc"))
{
FileStream writeStream = new FileStream("c:\\20160601.doc", FileMode.OpenOrCreate);
int length = readStream.Read(buffer,,buffer.Length);
while(length>)
{
writeStream.Write(buffer, , length);
length = readStream.Read(buffer,,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:, Date: } )
db.collection.createIndex( {Date: } ) db.collection.createIndex( { orderDate: } )