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"]} )
答案 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)文档。