4

Node.js、mongoDB、mongooseを使用する:

私はdbコレクションを持っていますwhosレコードは文字列の配列のフィールドを持っています。

渡された文字列に一致するすべてのレコードの配列内のアイテムを削除する必要があります。

これには、一致を含む配列を持つすべてのレコードの検索、配列からのアイテムのスプライシング、およびレコードのデータベースへの保存が含まれます。

私はこれを行う方法を見つけるのに苦労しています。

4

2 に答える 2

4

$pullこれは aまたは aで実行できるはずです$pullAll(ここで説明されているように: www.mongodb.org/display/DOCS/Updating#Updating-%24pull)。たとえば、シェルでは次のようになります。

> db.coll.update({}, {$pull : {arrField : passedString}}, false, true);

これにより、 arrField 配列が存在する場合は、そこから passedString を取得してすべてのドキュメントを更新します。(falseアップサートなし、true複数のドキュメントを更新するため。)

于 2012-04-11T22:10:44.763 に答える
3

次のようなものを使用できます

Model.update({}, {$pull : {arrField : passedString}}, function(){})
于 2012-04-12T07:22:09.350 に答える