2016-08-12 4 views
2

を返されます。しかし、私はそれを変更し、欠落マングーススキーマプロパティはまだこのようになります。スキーマを考える

var schema = new mongoose.Schema({ size: 'string' }); 

名を削除した後、私はそれで見つけるの操作を行います。

schema.find({}).exec().then((objs) => { 
    // objs[0].name still exists 

私は、スキーマプロパティを指定しなかった場合、それはないだろうと思いました見つかったオブジェクトに存在します。これは当てはまりませんか?プロパティを削除する唯一の方法は、実際にそれをmongoのオブジェクトから削除することですか?オリジナルのメンテナから引用

+0

質問にお答えしましたか?それはあなたの質問を助け/解決した答えを示すためにSOを使う他の人に役立ちます。 –

答えて

0

Aaron Heckmann

[M] ongooseあなたがすることを教えない限りない、それを削除、DB内の既存のデータと「素敵果たしています」。

[D] mongooseがそれにフックすることができたとしても、それができない場合、プロパティを設定すると機能します。 [H] $unsetをトリガーする値をundefinedに設定することで、文書からプロパティを完全に削除することができます。

出典:Google Groups

基本的にマングースは、既存のデータに非破壊であることを試みます。プロパティが不要になった場合、データベースの更新を実行して、コレクション内のすべてのドキュメントからプロパティを削除する値を設定解除することができます。

関連する問題