0

嗨,我刚刚开始围绕 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
        }
    }

我的问题是我将如何更改上述内容以允许“内容”成为列表,因为我可能希望在页面上有多个内容块。

4

1 回答 1

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" }
于 2013-05-04T16:27:46.087 回答