2017-05-11 8 views
0

プログラムデータを含むcsvファイルをMongoDBコレクションにインポートしました。フィールドの1つ、タグは、一部の文書では空白です。例:空の配列フィールドをMongoDBコレクションから削除する

"_id" : ObjectId("5906252136ac939ea93b4110"), 
"pid" : "b00mtw7l", 
"epoch_start" : ISODate("2009-02-05T08:16:00Z"), 
"epoch_end" : ISODate("2009-02-12T08:16:00Z"), 
"complete_title" : [ 
    "big and small", 
    " series 1", 
    " theres space for small" 
], 
"media_type" : "video", 
"tags" : [""] //empty field, how to delete? 

データの冗長性を減らすために空のタグフィールドを完全に削除します。インポートする前にcsvファイルを変更するのではなく、どのようにmongoシェルでこれを行うのですか?

ありがとうございました。

+0

これらの_all_にはこのような空のタグがありますか?またはいくつかは実際のタグを持っていますか? –

答えて

0

db.collection.update({tags: [""]},{$unset: {tags:1}},{multi: true}); 

{multi: true}でそれを行う場所に該当する、複数の文書からtagsを削除します。

+0

これはドキュメント全体を削除しませんか?タグフィールドが空のときにタグフィールドを削除したいだけです。 – sums22

+0

@ sums22申し訳ありませんが質問を正しく読んでいない。私の答えを更新しました。 – gaganshera

+0

それは感謝しました@ gaganshera! – sums22

関連する問題