2017-02-05 10 views
1

操作がdeleted: 0node-mongodb-nativeドライバを使用してドキュメントを削除するにはどうすればよいですか?

const res = await ctx.db.collection(this.col).removeOne({ _id: ctx.params.id }); 

ない私がここで間違ってやっているのかわからを言って返します。 { _id: <id> }のGETリクエストは正常に動作しているようです。

ctx.params.idが定義されており、データベースのObjectIdと同じです。あなたがcollection.removeOne()を行うことができます。このドキュメントによると

(例2を参照)https://mongodb.github.io/node-mongodb-native/2.2/api/Collection.html#remove

// Remove all the document 
collection.removeOne({a:1}, {w:1}, function(err, r) { 
    test.equal(null, err); 
    test.equal(1, r.result.n); 
    db.close(); 
}); 

答えて

1

どのようにMongoDBの店舗識別子内部である、ObjectIdctx.params.idをキャストしてみます。

import { ObjectId } from 'mongodb' 

id = ObjectId(ctx.params.id) 
+0

私はidsを使用する他の場所にないときに、なぜそれを行う必要がありますか? – chovy

+0

@chovy私は実際にはわかりませんが、試してみることができます。上記のあなたのコードは大丈夫です。 – zurfyx

+0

それは動作します!男、なぜこの方法ではなく、他の方法で?奇妙な。 – chovy

関連する問題