MongoLabにあるAPI仕様書を読んでわかった。
$.ajax( { url: "https://api.mongolab.com/api/1/databases/my-db/collections/my-coll/4e7315a65e4ce91f885b7dde?apiKey=myAPIKey",
data: JSON.stringify( { "x" : 2 } ),
type: "PUT",
contentType: "application/json" } );
PUTの時はMongoDB用のidをURLパラメタとして引き渡すが、PUTデータとしてはidは渡す必要はないのではないか!
早速コード書き換えて試してみた。
var url = 'https://api.mongolab.com/api/1/databases/my-db/collections/my-coll/';
var key = '?apiKey=myAPIKey';
var updateId = $scope.obj._id.$oid;
delete $scope.obj._id; //これが必要?
$http.put(url + updateId + key,$scope.obj).success(function(data)
{
});
更新できた。_idは必要ないようだ。
0 件のコメント:
コメントを投稿