千家信息网

MongoDB存储泛型List<User>集合

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,protected virtual MongoConfigurationBuilder GetConfiguration(){var builder = new MongoConfigurationB
千家信息网最后更新 2025年01月20日MongoDB存储泛型List<User>集合

protected virtual MongoConfigurationBuilder GetConfiguration()

{
var builder = new MongoConfigurationBuilder();
builder.ReadConnectionStringFromAppSettings("tests");
return builder;
}
//数据映射类(key,value)
class ListInfo
{
public int key { get; set; }
public object value { get; set; }
}
static void Main(string[] args)
{
var config = new MongoConfigurationBuilder();
// COMMENT OUT FROM HERE
config.Mapping(mapping =>
{
mapping.DefaultProfile(profile =>
{
profile.SubClassesAre(t => t.IsSubclassOf(typeof(ListInfo)));
});
mapping.Map();
});

config.ConnectionString("Server=127.0.0.1");
using (Mongo mongo = new Mongo(config.BuildConfiguration()))
{
mongo.Disconnect();
mongo.Connect();
try
{
var db = mongo.GetDatabase("TestDb");
var collection = db.GetCollection();
//添加信息 需要就可以打开注释
ListInfo list = BindVendor();
collection.Save(list);
var coll = db.GetCollection("ListInfo");
var info = coll.Find(new Document().Add("key", 7888)).Documents.ToList();
string showinfo = "";
foreach (Document item in info)
{

var listd = item.Values.ToList();
showinfo += "编号:" + listd[1];
List items = (listd[2] as List);
foreach (var item1 in items)
{
var item2 = item1.ToList()[1].Value;
showinfo += "名称:" + item2;
}

}
Console.WriteLine(showinfo);
}
catch { }
}
Console.ReadKey();
}

#region 集合信息

#region 添加信息到结合
private static ListInfo BindVendor()
{
vendor square = new vendor()
{
vendorid = 2,
vendorname = "西郊汽配城",
itemid = DateTime.Now.Second
};
List list = new List();
list.Add(square);
ListInfo listinfo = new ListInfo()
{
key = 7888,
value = list
};
return listinfo;
}
#endregion
#region 实体类
class vendor
{
public int vendorid { get; set; }
public string vendorname { get; set; }
public int itemid { get; set; }
}
#endregion

#endregion

0