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<ListInfo>();
});

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>();
//添加資訊 需要就可以開啟注釋
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<Document> items = (listd[2] as List<Document>);
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<vendor> list = new List<vendor>();
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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.