您好我刚开始在Mongo DB c#周围建立一个cms。
我有一个基本的文档看起来像这里为了简单而删除了一些字段......
{ "_id" : ObjectId("518438c35ea2e913ec41c138"), "Content" : "Some html content here", "Title" : "Robs Article", "Author" : "Rob Paddock", "DatePosted" : ISODate("0001-01-01T00:00:00Z"), "ArticleStatus" : "Live" }
要调用该文档,我有以下代码
public IEnumerable<Article> GetArticleDetails(int limit, int skip)
{
var articlesCursor = this.MongoConnectionHandler.MongoCollection.FindAllAs<Article>()
.SetSortOrder(SortBy<Article>.Descending(a => a.Title))
.SetLimit(limit)
.SetSkip(skip)
.SetFields(Fields<Article>.Include(a => a.Id, a => a.Title, a => a.Author));
return articlesCursor;
}
创建我有的新文档
public virtual void Create(T entity)
{
//// Save the entity with safe mode (WriteConcern.Acknowledged)
var result = this.MongoConnectionHandler.MongoCollection.Save(
entity,
new MongoInsertOptions
{
WriteConcern = WriteConcern.Acknowledged
});
if (!result.Ok)
{
//// Something went wrong
}
}
我的问题是如何改变上述内容以允许“内容”成为列表,因为我可能希望在页面上有多个内容块。
答案 0 :(得分:0)
public class Article
{
public BsonObjectId Id { get; set; }
public List<string> Content { get; set; }
public string Title { get; set; }
public string Author { get; set; }
public string DatePosted { get; set; }
public string ArticleStatus { get; set; }
public void AddContent(string c)
{
if (Content == null)
{
Content = new List<string>();
}
Content.Add(c);
}
}
...
var article = new Article { Title = "Robs Article", Author = "Rob Paddock", DatePosted="1/1/1980", ArticleStatus="Live" };
article.AddContent("Some html content here");
article.AddContent("NYT Featured");
article.AddContent("Recommended for gourmets");
var articleCollection = database.GetCollection<Article>("articles");
articleCollection.Insert(article);
...
> db.articles.find()
{ "_id" : ObjectId("5185358ee153db0e0c6fa36a"), "Content" : [ "Some html content here", "NYT Featured", "Recommended for gourmets" ], "Title" : "Robs Article", "Author" : "Rob Paddock", "DatePosted" :
"1/1/1980", "ArticleStatus" : "Live" }