1

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"]} )

4

3 回答 3

0

您使用的是什么 REST API?MongoDB 不附带执行您尝试执行的操作的 REST API。

于 2012-03-15T05:25:38.963 回答
0

不等待响应就无法获取对象的_id,因为_id是在服务器上生成的。您需要在请求中附加成功调用。id 实际上是作为 _id 对象中的 $oid 成员返回的。

这是假设您使用 $.ajax 发出请求和 MongoLab REST API,如http://support.mongolab.com/entries/20433053-rest-api-for-mongodb中所述

例如:

$.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"]);
      });
于 2012-08-17T21:36:17.237 回答
0

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

于 2012-11-11T10:56:51.567 回答