既存のコレクションに自動インクリメントを追加するのに役立つメソッドやパッケージはありますか?コレクションが作成される前にAIを追加する方法についての情報が満載のインターネットですが、コレクションがすでに存在する場合にAIを追加する方法に関する情報は見つかりませんでした。...mongodb/node.jsの既存のコレクションに自動インクリメントを追加するには?
-2
A
答えて
1
MongoDBは作り付けの自動インクリメント機能を持っていません。
挿入するために使用された最後のシーケンス値を追跡するために新しいコレクションを作成します。
db.createCollection("counter")
それとして1つのレコードのみを保持します:
db.counter.insert({_id:"mySequence",seq_val:0})
JavaScript関数を作成して:
function getNextSequenceVal(seq_id){
// find record with id seq_id and update the seq_val by +1
var sequenceDoc = db.counter.findAndModify({
query:{_id: seq_id},
update: {$inc:{seq_val:1}},
new:true
});
return sequenceDoc.seq_val;
}
既存のコレクションの既存の値をすべて更新するには、次のようにします。 houldの仕事(あなたが唯一のいくつかのドキュメントを更新したい場合は、{}は空の場合は、あなたがあなたの条件を配置することができます):
db.myCollection.update({},
{$set:{'_id':getNextSequenceVal("mySequence")}},{multi:true})
今、あなたのように、既存のコレクションに新しいレコードを挿入することができます。
db.myCollection.insert({
"_id":getNextSequenceVal("mySequence"),
"name":"ABC"
})
1
MongoDBはすべての文書の最上位に_id
フィールドを主キー。 _idはユニークでなければならず、常にユニーク制約を持つインデックスを持ちます。自動インクリメントフィールドです。ただし、MongoDBのマニュアルのチュートリアルの後に独自の自動インクリメントフィールドを定義することは可能です。
Tutorial link
:https://docs.mongodb.com/v3.0/tutorial/create-an-auto-incrementing-field/
関連する問題
- 1. 既存の昇順列に自動インクリメントIDを追加しますか?
- 2. 既定の照合を既存のmongodbコレクションに追加する
- 3. 自動インクリメントの前に文字を自動的に追加
- 4. AWS CLI:既存の自動スケーリングポリシーに既存のクラウドウォッチアラームを追加します。
- 5. 既存のMongodbコレクションの配列にユーザーを追加する - Mongodb
- 6. sqlite:どのようにして既存のテーブルに自動インクリメントIDを追加できますか?
- 7. 既に追加されたDTに自動インクリメントを追加する - 値を更新する
- 8. elasticsearch - 既存のコレクションにasciifoldingフィルタを追加する
- 9. Meteor Mongoが既存のコレクションにデータを追加する
- 10. MySQLのテーブルに自動インクリメント列の種類を追加する
- 11. HIVEで自動インクリメント列を追加
- 12. phpmyadminを使ってmysqlデータベースの列に自動インクリメントを追加するには?
- 13. 既存のJTableに動的に値を追加する
- 14. ノックアウトバインディングを既存の要素に動的に追加する
- 15. 既存のテーブルに動的に列を追加するMariaDB
- 16. 既存のフィールドの値を持つコレクションに新しいフィールドを追加する
- 17. 既存のシーケンスファイルに追加
- 18. csvストレージエンジンタイプのmysqlテーブルに自動インクリメント列を追加する方法は?
- 19. MS Access:親フォームのコレクションに既存の子を追加する方法
- 20. 既存の「追加」タブの前に動的ブートストラップタブを追加する
- 21. 既存のNSPredicateに追加の引数を追加する
- 22. 既存のExcelファイルに追加する
- 23. テーブルの後に新しいID(自動インクリメント)を追加する際の問題
- 24. ファイル名の文字列に自動インクリメントの数字を追加する
- 25. は、既存のプロパティを動的にジェネリックを追加
- 26. dynamodb:レコードをテーブルに追加する際にキーフィールドに自動インクリメント番号を追加する方法
- 27. vbを使用してSQLの自動インクリメント値に+1を追加する
- 28. 既存のEclipseボタンに追加の動作を追加しますか?
- 29. TFSの既存のプロジェクトに既存のソリューションを追加
- 30. モジュールのデフォルトIDフィールドに自動インクリメントを追加する方法Suit CRM
何自動増分を意味しますか? Mongoの_idは自動的に段階的に生成されます。 –
@Jeremy Thille 1,2,3,4,5 ...など。 –
Mongodbには、ネイティブの自動インクリメント整数シーケンスAFAIKはありません。 –