2016-07-25 8 views
1

couchbase cordovaのdoc_idsをuuid形式にしようとしています。 現在、挿入されているすべてのドキュメントは次のように_id秒を持っている - -AexsV4lbjOoH-AdlN1Fi0W--mpIWIHza6CQEJEHRxPKbaなどCouchbase Cordova - doc_ids | uuidsを取得する必要があります

マイセットアップが_idsはユニバーサルの一部としてローカルDBに保存されますコルドバアプリとしてUUIDをする必要があること、そのような性質のものですサーバー上のMongoDB。 (サーバー上のDBには複数のローカルDBが格納されます)。だから私の質問があるd6414228-b07c-4bd2-9aa3-d1df8b548de6 のようなUUIDを生成

/** 
* Fast UUID generator, RFC4122 version 4 compliant. 
* @author Jeff Ward (jcward.com). 
* @license MIT license 
* @link http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136 
**/ 
var UUID = (function() { 
    var self = {}; 
    var lut = []; for (var i=0; i<256; i++) { lut[i] = (i<16?'0':'')+(i).toString(16); } 
    self.generate = function() { 
    var d0 = Math.random()*0xffffffff|0; 
    var d1 = Math.random()*0xffffffff|0; 
    var d2 = Math.random()*0xffffffff|0; 
    var d3 = Math.random()*0xffffffff|0; 
    return lut[d0&0xff]+lut[d0>>8&0xff]+lut[d0>>16&0xff]+lut[d0>>24&0xff]+'-'+ 
     lut[d1&0xff]+lut[d1>>8&0xff]+'-'+lut[d1>>16&0x0f|0x40]+lut[d1>>24&0xff]+'-'+ 
     lut[d2&0x3f|0x80]+lut[d2>>8&0xff]+'-'+lut[d2>>16&0xff]+lut[d2>>24&0xff]+ 
     lut[d3&0xff]+lut[d3>>8&0xff]+lut[d3>>16&0xff]+lut[d3>>24&0xff]; 
    } 
    return self; 
})(); 

- したがって、私はJSでUUIDを作成する方法に迅速な調査をしたなどかなりの数の答えを見つけ_idsはUUIDを

する必要があります - これを直接達成するためのcouchbase phonegapプラグインの中に直接的な方法がありますか?

答えて

1

文書をCou​​chbase Liteに書き込むときに、データベースにランダムなID(一意になる)を指定するか、または指定することができます。

データベースに文書IDを生成させるためのPOST要求を送信できます。

curl -H 'Content-Type: application/json' \ 
    -vX POST 'http://localhost:5984/app' \ 
    -d '{"name": "john"}' 

{"id":"-UwALc1GlcAcG60uag1oMf1","rev":"1-10dc5637dc2ccb55e007440cca73a415","ok":true} 

または指定するPUTリクエスト。

curl -H 'Content-Type: application/json' \ 
    -vX PUT 'http://localhost:5984/app/john' \ 
    -d '{"name": "john"}' 

{"id":"john","rev":"1-10dc5637dc2ccb55e007440cca73a415","ok":true} 

以降、ドキュメントに更新を保存するには、現在のリビジョンのリビジョン番号を指定する必要があります。

curl -H 'Content-Type: application/json' \ 
    -vX PUT 'http://localhost:5984/app/john?rev=1-10dc5637dc2ccb55e007440cca73a415' \ 
    -d '{"name": "johnny"}' 
+0

ああ...私はcouchbaseに "random id"の代わりにuuidsを生成するようにどのように伝えますか? –

+0

あなたはそうではありませんが、上の例では "john"の代わりにあなたの生成したuuidを入れることができます。 – borrrden

+0

唯一の方法はカスタムIDを生成することですか? –

関連する問題