2

テンプレート:

p= user

出力:

<p>{ admin: "true", human: "Foo Bar" }</p>

(通常はユーザーには表示されませんが、さまざまな要因に応じて、レイアウトのさまざまな部分をレンダリングするために使用される (またはされない) 他のものの中でも)

テンプレート:

p= user.human

出力:

<p>Foo Bar</p>

ここまでは予想通り。ただし、テンプレート:

p= user.admin

出力:

<p></p>

これがどのように可能であるかはわかりません。オブジェクト全体を出力するとプロパティは存在しますが、そのプロパティだけを出力しようとすると消えてしまいます。

user['admin']の代わりにも使用してみましuser.adminたが、それも機能しません。

最初の質問: これはどのように起こっているのですか? 2 番目の質問: どうすれば修正できますか?

更新 1:パターンp #{user.admin}には同じ効果があり、p= user.admin.toString()結果として 500 エラーが発生し'user.admin' is not definedます。さらに、JSON.stringify(user.admin)空の p タグも生成されます ( および のようp= user.adminp #{user.admin})

更新 2: 'admin' プロパティを出力します:しかし、繰り返し処理しても'admin' プロパティは出力されp= JSON.stringify(user) ませ。その場合、出力は多数の関数やその他のものが含まれているため非常に長くなりますが、ctrl + f を使用して出力を検索したところ、「admin」が見つかりませんでした。{"admin":"true","human":"Foo Bar"}usereach value,key in user

4

3 に答える 3

1

これは、admin の値がブール値として解釈されるためである可能性があります。試してみるいくつかのこと:

p #{user.admin}

また

p= user.admin.toString()
于 2013-03-03T18:36:27.223 に答える
1

以下をお試しください

each value, key in user
    p #{value} [#{key}]

「admin」は出力されますか?

于 2013-03-03T18:56:09.087 に答える
0

OK、ここに問題がありました:

「admin」プロパティが設定された Mongoose オブジェクトを取得していましたが、スキーマは実際には「admin」プロパティをまったく指定していませんでした。ジェイドがどのようにそれを拾ったのか正確にはわかりませんが、マングースは明らかに「管理者」プロパティとは何か、そしてそれをどうするかについて非常に混乱していました.

解決策は、単に 'admin': 'string' を mongoose.Schema オブジェクトに追加することでした。

dave と King Julian の両方の助けに感謝します。この結論に到達するのに役立ったので、私はあなたの2つの答えに賛成しました(あなたのコメントと同様に、あなたは私が恐れているものの代表者を得ることができません!)。

于 2013-03-03T19:22:57.580 に答える