mongodb使用REST API插入和返回id

时间:2012-03-15 00:25:58

标签: 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",
          contentType: "application/json" } );

由于

编辑:已解决购买删除方括号JSON.stringify( { "x" : 2,"c1" : 34,"c2" : getUrlVars()["c2"]} )

3 个答案:

答案 0 :(得分:0)

您使用的是什么REST API? MongoDB没有提供可以执行您尝试的REST API。

答案 1 :(得分:0)

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

这假设您正在使用$ .ajax发出请求以及http://support.mongolab.com/entries/20433053-rest-api-for-mongodb

中记录的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"]);
      });

答案 2 :(得分:0)

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