Using $push in MLAB's MongoDB REST API

霸气de小男生 提交于 2019-12-11 15:59:52

问题


I am using NodeJS to write a post query to insert an object in array through the MLAB REST API but I am getting error in making the API call.

The Json Object is like :

{
.....
"someattriute" : "somevalue",
"attributenew" : [ {"a":"a1","b":"b1"} ],
.....
},
{
....
}

The NodeJS API call is like :

request.post('https://api.mlab.com/api/1/databases/cabchain/collections/rides?q={"someattribute": "'+"somevalue"+'"}&apiKey=....',
                        { json: { "$push": {"attributenew": {"a": "a2", "b": "b2"}}
                        } },
                        function (error, response, body) {
                            if (!error && response.statusCode == 200) {
                                console.log("----->Insertion"+body);
                                return res.status(200).send("[{\"status\":\"success\"}]");
                            }
                            else
                            console.log("error.....");
                        });

The control goes in ELSE part and prints "error...." .

EDIT :

Printing error gives : null.
Printing response gives : [object object].
Printing response.statusCode : 400


{"statusCode":400,"body":{"message":"Invalid object { \"$push\" : { \"quoted\" : { \"driver\" : \"9820364381\" , \"fare\" : \"999\"}} , \"_id\" : { \"$oid\" : \"5ab1d191c2ef1674b9097f03\"}}: I
nvalid BSON field name $push"},"headers":{"date":"Wed, 21 Mar 2018 03:29:21 GMT","server":"Apache/2.4.7 (Ubuntu)","expires":"Tue, 01 Feb 2000 08:00:00 GMT","last-modified":"Wed, 21 Mar 2018 03
:29:21 GMT","cache-control":"no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0","pragma":"no-cache","x-frame-options":"DENY","access-control-allow-credentials":"true","
access-control-allow-origin":"*","content-length":"201","connection":"close","content-type":"application/json;charset=utf-8"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"
host":"api.mlab.com","port":443,"hostname":"api.mlab.com","hash":null,"search":"?q=%7B%22ridetrackingno%22:%20%22624%22%7D&apiKey=....","query":"q=%7B%22ridetrackin
gno%22:%20%22624%22%7D&apiKey=....","pathname":"/api/1/databases/DB/collections/rides","path":"/api/1/databases/cabchain/collections/rides?q=%7B%22ridetrackin
gno%22:%20%22624%22%7D&apiKey=....","href":"https://api.mlab.com/api/1/databases/DB/collections/rides?q=%7B%22ridetrackingno%22:%20%22624%22%7D&apiKey=....."},"method":"POST","headers":{"accept":"application/json","content-type":"application/json","content-length":57}}}

来源:https://stackoverflow.com/questions/49397193/using-push-in-mlabs-mongodb-rest-api

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!