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