带有RESTAPI的mongodb插入和返回id
Mongodb新手,尝试在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
$.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提供的一个