Новичок в Mongodb, пытается получить _id после вставки mongodb без обратной передачи.
$.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"]} )
JSON.stringify( { "x" : 2,"c1" : 34,"c2" : getUrlVars()["c2"]} )
Вы не можете получить _id объекта, не ожидая ответа, потому что _id генерируется на сервере.Вы должны приложить успешный вызов к вашему запросу.Идентификатор фактически возвращается как член $ oid в объекте _id.
Это предполагает, что вы используете $ .ajax для выполнения запроса и API REST MongoLab, как описано в 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"]); });
В соответствии с документами MongoLab REST API квадратные скобки предназначены для вставки нескольких документов одновременно.Для отдельного документа вам просто нужно JSON.Stringify одного действительного документа JSON (BSON).
Какой REST API вы используете? MongoDB не поставляется с REST API, который делает то, что вы пытаетесь сделать.