mongoDB在Array中插入项

时间:2015-07-03 12:22:13

标签: c# mongodb

{
"_id" : ObjectId("5431f38c4ba4dd20408b0432"),
"UserID" : "1",
"Status" : {

    }
},
"ListFilterType" : 1,
"IssueCategories" : [ 
    {
        "_id" : ObjectId("000000000000000000000000"),
        "IssueCategoryID" : 2,
        "IssueCagetoryName" : "test",
        "MatchKeyword" : "test",
        "MatchKeywordID" : 2
    }
]

}

编辑: 我的表达是这样的。

 {
"_id" : ObjectId("5431f38c4ba4dd20408b0432"),
"UserID" : "1",
"Status" : {

    }
},
"ListFilterType" : 1,
"IssueCategories" : [ 
    {
        "_id" : ObjectId("000000000000000000000000"),
        "IssueCategoryID" : 2,
        "IssueCagetoryName" : "test",
        "MatchKeyword" : "test",
        "MatchKeywordID" : 2
    },
   {
        "_id" : ObjectId("000000000000000000000001"),
        "IssueCategoryID" : 3,
        "IssueCagetoryName" : "test2",
        "MatchKeyword" : "test2",
        "MatchKeywordID" : 3
    },
   {
        "_id" : ObjectId("000000000000000000000004"),
        "IssueCategoryID" : 4,
        "IssueCagetoryName" : "test4",
        "MatchKeyword" : "test34",
        "MatchKeywordID" : 4
    }
]

我有一个类型列表为" IssueCategories"。你可以在上面看到我的mongodb结构。如果root _id =我的参数,我想添加到mongodb。 我希望我解释正确

谢谢

1 个答案:

答案 0 :(得分:0)

您应该使用$push$addToSet来更新文档。

$(document).ready( function(){ var fixedHeight = $(".fixed-container").outerHeight(true); fixedHeight = (fixedHeight/screen.height)*100 $(".scrolling-container").css("margin-top", fixedHeight + "%"); }); 将添加$push中的所有元素,包括重复项。 在IssueCategories中,如果数组中存在整个对象,则不在数组中插入重复的元素(对象)。

使用$ push:

$addToSet

以下是使用db.collection.update({ "_id": ObjectId("5431f38c4ba4dd20408b0432") // you can add any other param }, { $push: { SCSIssueCategories: { "_id": ObjectId("11111111111111111"), //ur id here "IssueCategoryID": 3, "IssueCagetoryName": "Sözleşme1", "MatchKeyword": "abonelik süresi1", "MatchKeywordID": 3 } } }) 的查询:

$addToSet

**如果单个参数具有不同的值,则它将使用db.collection.update({ "_id": ObjectId("5431f38c4ba4dd20408b0432") }, { $addToSet: { SCSIssueCategories: { "_id": ObjectId("11111111111111111"), //ur id here "IssueCategoryID": 3, "IssueCagetoryName": "Sözleşme1", "MatchKeyword": "abonelik süresi1", "MatchKeywordID": 3 } } }) 插入到数组中。 **