MongoDB C# API 中的数组结构

本文关键字:数组 结构 API MongoDB | 更新日期: 2023-09-27 17:56:35

我正在使用MongoDB C# API。

问题属性是字典对象而不是数组。 我想向提供者推送问题中的项目,但无法添加任何项目。 我不想转换为数组,因为这次开始分页问题。

以下是MongoDB文档结构:

/* 1 */
{
    "_id" : ObjectId("55811f42a6df1a1d50409ff7"),
    "CreationDate" : ISODate("2015-06-17T07:18:26.028Z"),
    "IsActive" : true,
    "Acls" : [],
    "AclCount" : 0,
    "QuestionCount" : 0,
    "Questions" : {
        "sss" : {
            "_id" : ObjectId("000000000000000000000000"),
            "CreationDate" : Date(-62135596800000),
            "IsActive" : false,
            "Name" : null,
            "IsRequired" : false,
            "QuestionType" : 0,
            "AnswerInputType" : 0,
            "AnswerValidationPattern" : null,
            "AnswerValidationMessage" : null,
            "QuestionOrder" : 0,
            "DataSource" : [],
            "DataSourceItemCount" : NumberLong(0)
        },
        "sssdd" : {
            "_id" : ObjectId("000000000000000000000000"),
            "CreationDate" : Date(-62135596800000),
            "IsActive" : false,
            "Name" : null,
            "IsRequired" : false,
            "QuestionType" : 0,
            "AnswerInputType" : 0,
            "AnswerValidationPattern" : null,
            "AnswerValidationMessage" : null,
            "QuestionOrder" : 0,
            "DataSource" : [],
            "DataSourceItemCount" : NumberLong(0)
        }
    },
    "Name" : "wer",
    "Description" : "sdf",
    "IsPublished" : false,
    "TemplatePath" : "2015''6''3a28f06c511847c687e12e540f0bc9fc",
    "StorageId" : ObjectId("55803655a6df1919280fd958"),
    "OwnerId" : ObjectId("55803655a6df1919280fd956")
}

正在尝试推送包装和添加到设置包装命令,但没有解决我的问题。

Dictionary<string, Question> model = new Dictionary<string, Question>();
model.Add(question.Id.ToString(), question);
IMongoQuery query = Query.EQ("_id", BsonValue.Create(formId));
WriteConcernResult result = this.MongoCollection.Update(query, Update.PushWrapped<Dictionary<string, Question>>("Questions", model).Inc("QuestionCount", 1));

MongoDB C# API 中的数组结构

Push and Add 以设置仅适用于数组,并且由于"问题"不是数组,因此您无法这样做。您应该能够使用 Update.Set("问题"。 + 问题。同上,问题)。