2017-09-11 14 views
0

BSON :: ObjectId( '59afe79b92caf8948b000005')ではなく、新しく作成されたオブジェクトのIDをstringとして生成したいとします。mongodbコレクションの_idフィールドの文字列値を生成する方法は?

私はバージョンモンゴイド(4.0.2)のモンゴイドを使用しています。

このページのidGenerationのようなものはありますかhttps://docs.meteor.com/api/collections.htmlですか?

IDをランダムな文字列(SWpabpucouNBRJZoh)として作成して、流星のアプリケーションで動作させたいと考えています。

私にはどんな提案が役に立ちます。

おかげで、あなたが最後にそれを生成して挿入クエリで_idフィールドを割り当てた場合

答えて

0

、モンゴはあなたの_idを受け入れるもの。しかし、_idという名前でフィールドを指定しなかった場合、mongoDBは将来、ソートの目的に使用できるアルゴリズムで生成された_idフィールドを非常に知的に作成します。

ここでは、mongoDBによってオブジェクトIDが生成される方法について説明します。 Click Here

約17文字(必要な時間によって異なります)の_idを自己生成することができます。しかし、挿入する前にそれがまだ存在しないことを確認してください。 MongoDBは、フィールド_idによって識別されるキーを索引付けします。 click hereで、目的の鍵を生成する方法をさらに知ることができます。ヒントを取って独自のコードを作成してください。

0

Ankur Soniが指摘したように、_idプロパティなしでMongoDBにアイテムを挿入すると、Mongoは独自のアイテムを作成します。独自のIDを作成する場合は、GUIDジェネレータのようなものを使用することができます(Create GUID/UUID in JavaScript?

function guid() { 
    return s4() + s4() + '-' + s4() + '-' + s4() + '-' + 
    s4() + '-' + s4() + s4() + s4(); 
} 

function s4() { 
    return Math.floor((1 + Math.random()) * 0x10000) 
    .toString(16) 
    .substring(1); 
} 
関連する問題