起始位置
internal class Program
{
/*mongodb自带的一个命令 可以监控到服务端的一些状态
* mongostat --host --port
*/
internal static void Main(string[] args)
{
#region mogodb连接问题debug
new ThreadTest().doSomething();
#endregion
}
}
模拟多线程操作:
public class ThreadTest
{
public void doSomething()
{
for (int i = 0; i < 100000; i++)
{
Thread td = new Thread(new ParameterizedThreadStart(RequestData));//委托在此线程上要调用的方法
td.Start(i);
}
Object obj = new object();
RequestData(obj);
}
public void RequestData(object obj)
{
long d = new TestDAL().GetListByID();
Console.WriteLine(d + "," + obj.ToString());
}
}
数据库连接单例写法:
/*
* 单例模式
* 写法跟语言有关,请勿套用(每种语言有自己实现单例的方式)
*/
public class MongoDALSingle
{
public static string ServerAddress = "127.0.0.1";//链接地址 方便测试写死了
public static MongoServer MongoServer;
private MongoDALSingle()
{
var settings = new MongoServerSettings
{
Server = new MongoServerAddress(ServerAddress, 27017)//27017端口号
};
MongoServer = new MongoServer(settings);
MongoServer.Connect();
}
public static readonly MongoDALSingle Instance = new MongoDALSingle();
public static MongoServer getServer()
{
return MongoServer;
}
}
具体操作:
#region 查找指定id的数据
public class TestDAL
{
public long GetListByID()
{
MongoDatabase tag = MongoDALSingle.getServer().GetDatabase("Test");
MongoCollection collection = tag.GetCollection("student");
var query = Query.And(Query.EQ("ID", 1));
var doc = collection.Find(query);
return doc.Count();
}
}
#endregion