在mongodb中的现有Document中插入/更新/推送数组

时间:2015-07-08 16:36:46

标签: arrays node.js mongodb

该怎么做:

用户通过帖子发送字符串。 该字符串被解析为JSON字符串。 这个问题遵循了Insert Array in existing Document布莱克七的答案的印象,以便更好地理解。

提前致谢

解析后的数据如下:

var inventor =  [
    {
        "tablename": "AAAA",
        "ean": "2",
        "name": "name2",
        "runtime": "0",
        "art": "null",
        "marker": "null",
        "stammkost": "null",
        "accepted": "0"
    },
    {
        "tablename": "AAAA",
        "ean": "1",
        "name": "name1",
        "runtime": "0",
        "art": "null",
        "marker": "null",
        "stammkost": "null",
        "accepted": "0"
    }
        {
        "tablename": "BBBB",
        "ean": "3",
        "name": "name3",
        "runtime": "0",
        "art": "null",
        "marker": "null",
        "stammkost": "null",
        "accepted": "0"
    }
];

`

现有文件就像

 tablename: "AAAA"
 OutUser: "ZZZ"
 OutEmail: "test@test.test"
 OutDate: "01.01.2015"
 _id: ObjectId("559c2f04f41dde0c1b39574c")
 __v: 0

表示:

每个发明者阵列应该添加到右表名。

所以在完成所有工作后,每个现有文档都会添加发明者数据,具体取决于其中的表名。

 tablename: "AAAA"
 OutUser: "ZZZ"
 OutEmail: "test@test.test"
 OutDate: "01.01.2015"
 inventar: [
    {
        "ean": "2",
        "name": "name2",
        "runtime": "0",
        "art": "null",
        "marker": "null",
        "stammkost": "null",
        "accepted": "0"
    },
    {
        "ean": "1",
        "name": "name1",
        "runtime": "0",
        "art": "null",
        "marker": "null",
        "stammkost": "null",
        "accepted": "0"
    }
]
 _id: ObjectId("559c2f04f41dde0c1b39574c")
 __v: 0

这是我现有的代码,之后我被卡住了....

app.post('/out_accepted', function(request,response){
    //request string as parameter
    var jsonString=request.body.json;
    //parse string in JSON-String
    var inventar = JSON.parse(jsonString);

你能跟我来吗?

0 个答案:

没有答案