問題タブ [mongodb-update]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - MongoDB - TTL インデックス値の更新
ドキュメントの有効期限の値を更新しようとしています。ドキュメントを更新するたびにインデックスを設定するために使用する Node.js コードを次に示します。
問題は、expires_onの日付を明日の日付に設定し、値がデータベースに正しく設定されているが、数秒以内に期限切れになることです。このフィールドを更新する方法に問題はありますか? 更新された最後の expires_on 日に有効期限が切れるように、このドキュメントを更新する方法がわかりません。
MongoDB のインデックスを更新できないことに気付きましたが、ここでインデックスを更新していますか? インデックス自体ではなく、値を変更しようとすると違いますか?
mongodb - 大規模なコレクションでMongoDBのデータ型の変更を高速化するには?
Decimals があるはずの場所に多くの文字列が格納されています。私はこれを使用してそれらを変換しようとしています。しかし、それは本当に遅いです。変更するすべてのレコードのリストを取得するだけで、1 つの巨大な更新を行う方がはるかに高速になるのではないかと思います。これがとても遅いのは何か間違っていますか?
1,800 万件のレコードがあり、そのほとんどが type:string です。
クエリは実際には上に表示されておらず、次のとおりです。
mongodb - (MongoDB) 集約 (.out) 値を間違ったフィールドに移動する
私は実際にExpress jsとmongodb 4.2.7を使用してオートコンプリートWebサイトバーを作成し、緯度と経度を使用してジオコーディングAPIの使用を避けています。
これが私のデータベースのフォーマットです:
ご覧のとおり、私の Web サイトの目的には必要のないフィールドがたくさんあります。そして何よりも、通りの番号ごとに 1 つの行を取得する必要はありません。通りの一意の名前が 1 つあれば十分です。そこで、重複する通り名 (「nom_voie」) と町名 (「nom_commune」) を集約して次のように抑制することにしました。
問題は、この使用により、あるフィールドから別のフィールドに多くの値が移動し、データベースがまったく使用できなくなったことです。
ご覧のとおり、「nom_voie」の値は「nom_commune」になり、「x」の値は「lat」になり、「y」の値は「lon」になり、最後に「nom_voie」の値は「-」になります。 、そして他のフィールドを置き換える新しいフィールドを取得しました(「ソース」の「フィールド19」)...
間違ったオプションで集計を使用していますか?
47 Millions のエントリを取得しましたが、これにより問題が発生していますか?
これを読んだだけでも、お時間をいただきありがとうございます。
編集 :
いくつかの試行といくつかの検索の後、いくつかの問題を引き起こすのは集計関数であることがわかりましたが、誰かがヒントを得た場合、ドキュメントを編集してより理解しやすく読みやすくした理由はまだわかりません! (以前は関数の $unset 問題だと思っていました)