5

データベースに既存のユーザー オブジェクトがあります。

models/user.js を変更して、属性「isAdmin」を User スキーマに追加しました。

  , isAdmin     : { type: Boolean, default: false }

しかし今、ドキュメントを保存すると(つまり、プロファイルを更新します)。アプリで console.log(user) を実行すると isAdmin 属性が表示されます...(予想どおり false です)...しかし、mongo db コンソールに直接アクセスすると、既存のドキュメントには表示されません。

新しいユーザー オブジェクトを作成すると、新しいドキュメントに isAdmin 属性が存在します。この属性を既存のドキュメントに追加して、データベースに直接表示するにはどうすればよいですか?

編集: mongoose を使用する代わりに、属性を追加し、robomongo でroleロールを設定する特定のユーザーを変更することにしました。admin

4

2 に答える 2

1

isAdminこれを気にするのではなく、欠落しているフィールドを設定されているのと同じように扱うコードを書くことに関して、ヘクターに同意しますfalse

しかし、あなたがそれをしたいのであれば、1つの方法は明示的isAdminに変更済みとしてマークして、その後の への呼び出しがsaveデフォルト値を書き出すようにすることです:

doc.markModified('isAdmin');
doc.save();
于 2013-02-01T04:35:25.083 に答える