2017-05-04 16 views
1

私はユーザーと呼ばれるコレクション名を持っています。このコレクションには、全部で6つの文書があります。 "name"という列名の1つを使用して3つの文書を削除したいとします。私はこのクエリを使用しました:mongodbで複数の文書を削除するには?

db.users.deleteMany([ 
{ 
"name":"viki" 
}, 
{ 
"name" : "vino" 
}, 
{ 
"name" : "naranyamoorthy" 
} 
]) 

私は誰か助けてくれますか?

これは私の書類です。 viki、vino、naranyamoorthyという名前の3つの文書を削除したいと思います。

{ "_id" : ObjectId("58934f10c7592b1494fd9a4d"), "name" : "viki", "age" : 100, "subject" : [ "c", "node.js", "java" ], "address" : { "city" : "chennai", "state" : "tamilnadu", "pincode" : "123", "district" : [ "thambaram" ] } } 
    { "_id" : ObjectId("58934f57e8796616482b48d1"), "name" : "vino", "age" : 21, "subject" : [ "Bootstrap", "j2ee", "java", null, "node" ], "address" : { "city" : "Antartica", "state" : "USA", "pincode" : "456", "country" : "USA", "core" : [ "alliswell" ] } } 
    { "_id" : ObjectId("58934f8d09a2cb0d0c6f6af5"), "name" : "ranjith", "age" : 12, "subject" : [ "c++", "php", "java" ], "address" : { "city" : "japan", "state" : "UK", "pincode" : "45685" }, "subject[2]" : "php" } 
    { "_id" : ObjectId("58955fd44b2ba9078463d2a7"), "name" : "waseem", "age" : 200, "subject" : [ "c++", "c", "Analysis" ], "address" : { "city" : "Dubai", "state" : "UAE", "pincode" : "5820", "country" : [ "USA" ] } } 
    { "_id" : ObjectId("589561109b03d692c45114ef"), "name" : "sunadarpichai", "age" : 22, "subject" : [ "c", "node.js", "c++", "Android programming" ], "address" : { "city" : "losAngeles", "state" : "USA", "pincode" : "12341", "district" : "thambaram" } } 
    { "_id" : ObjectId("58956389362992d7976510d4"), "name" : "naranyamoorthy", "age" : 21, "subject" : [ "Bootstrap", "node.js", "j2ee", "javascript" ], "address" : { "city" : "Afganistan", "state" : "tamilnadu", "pincode" : "9597653749", "country" : "USA", "core" : [ "alliswell" ] } } 

答えて

2

は、あなたが削除したい文書に一致するdeleteManyに単一のクエリオブジェクトを渡す必要があります。文書を削除する

db.users.deleteMany({name: {$in: ["viki", "vino", "naranyamoorthy"]}}) 
+0

ありがとうございました。完璧に動作しています... – vigneshRavi

+0

何が起こったのですか? – vigneshRavi

+0

bro私はあなたも私の問題を解決したのであなたの答えを受け入れました。他のことnodejsのMQTTモジュールについて知っています。このモジュールを使ってあるnodejsアプリから別のアプリにデータを送ることができます – vigneshRavi

0

イテレーション方法:この場合、あなたは$inを使用することができます。

var deleteNames = ["viki","vino", "naranyamoorthy" ]; 
deleteNames.forEach(deleteDocument); 
function deleteDocument(item, index) { 
    try {   
    db.collection.deleteMany({ 
     "name":item 
    }); 

    } catch (e) { 
    print (e); 
    } 
} 
関連する問題