Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB C#API中的数组结构_C#_Mongodb_Mongodb Query_Mongodb .net Driver - Fatal编程技术网

MongoDB C#API中的数组结构

MongoDB C#API中的数组结构,c#,mongodb,mongodb-query,mongodb-.net-driver,C#,Mongodb,Mongodb Query,Mongodb .net Driver,我正在使用MongoDB C#API Questions属性是Dictionary对象而不是数组。我想向提供商提出问题,但无法添加任何项目。我不想转换为数组,因为这次开始出现分页问题 以下是MongoDB文档结构: /* 1 */ { "_id" : ObjectId("55811f42a6df1a1d50409ff7"), "CreationDate" : ISODate("2015-06-17T07:18:26.028Z"), "IsActive" : true,

我正在使用MongoDB C#API

Questions属性是Dictionary对象而不是数组。我想向提供商提出问题,但无法添加任何项目。我不想转换为数组,因为这次开始出现分页问题

以下是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")
}
我正在尝试PushWrapped和addtosetrapped命令,但没有解决我的问题

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));
Dictionary model=newdictionary();
model.Add(question.Id.ToString(),question);
IMongoQuery=query.EQ(“_id”,BsonValue.Create(formId));
WriteConcernResult result=this.MongoCollection.Update(query,Update.PushWrapped(“Questions”,model).Inc(“QuestionCount”,1));

推送并添加到仅适用于数组的集合,因为“问题”不是数组,所以不能这样做。您应该能够使用Update.Set(“Questions.+question.Id,question)。

可以,但需要重新注册并接收Set进程的数据。以前的问题是数组。实际上转到了逻辑更改,因为导致了分页问题。不知怎的,我没有解决这个问题对不起,我不知道你在说什么。这与你上面的问题有什么关系?首先,让我解释一下,我有一个记录,在这个记录上有一个问题属性。但是在问题的数据源中,我想对这些数据源属性进行分页。我想做一个记录,而不仅仅是对所有问题的分页
db.getCollection('forms')。查找({u id:ObjectId(“557e8c93a6df1a22041e0879”),“questions.”id:ObjectId(“557e8c9fa6df1a22041e087b”),{“questions.$.DataSource:{$slice:[0,2]},{id:0,“questions.datasourceitem:1})
Ok,这与这个问题有什么关系?也许你应该就此提出另一个问题,我们可以在那里解决这个问题。