Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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
带有RESTAPI的mongodb插入和返回id_Mongodb_Mlab - Fatal编程技术网

带有RESTAPI的mongodb插入和返回id

带有RESTAPI的mongodb插入和返回id,mongodb,mlab,Mongodb,Mlab,Mongodb新手,尝试在Mongodb插入后获取_id,无需往返 $.ajax( { url: "https://api.mongolab.com/api/1/databases/xxx/collections/xx?apiKey=xxx", data: JSON.stringify( [ { "x" : 2,"c1" : 34,"c2" : getUrlVars()["c2"]} ] ), type: "POST", content

Mongodb新手,尝试在Mongodb插入后获取_id,无需往返

$.ajax( { url: "https://api.mongolab.com/api/1/databases/xxx/collections/xx?apiKey=xxx",
          data: JSON.stringify( [ { "x" : 2,"c1" : 34,"c2" : getUrlVars()["c2"]} ] ),
          type: "POST",
          contentType: "application/json" } );
谢谢


编辑:删除方括号
JSON.stringify({“x”:2,“c1”:34,“c2”:getUrlVars()[“c2”]})

您使用的RESTAPI是什么?MongoDB附带的REST API无法完成您试图执行的操作。

您无法在不等待响应的情况下获取对象的_id,因为_id是在服务器上生成的。您需要为您的请求附加一个成功呼叫。该id实际上是作为_id对象中的$oid成员返回的

这是假设您正在使用$.ajax发出请求,并使用MongoLab REST API,如中所述

例如:

$.ajax( { url: 'https://api.mongolab.com/api/1/databases/xxx/collections/xx?apiKey=xxx',
          data: JSON.stringify( {"x" : 1 } ),
          type: "POST",
          contentType: "application/json"}
      ).success(function(returnedData) {
          alert(returnedData._id["$oid"]);
      });

根据MongoLab REST API文档,方括号用于一次插入多个文档。对于单个文档,您只需要JSON。将单个有效的JSON(BSON)文档字符串化。

我使用的是mongolab提供的一个