私はnodeとexpressでREST APIに取り組んでいます。私はmongoose.jsを使用しています。私はdb内に新しいユーザー文書を作成しています。汗はない、素晴らしい作品。Node.js:Underscoreでオブジェクトをクローンし、その後に新しいプロパティをクローンに割り当てるにはどうすればよいですか?
.save()が返すjsonオブジェクトにプロパティを追加するときに問題が発生します。このプロパティは、保存後に追加する必要があります。これは、RESTインターフェイスを消費するクライアントのフラグだからですが、dbに保存したいものではありません。ここで
は私の例です:
var _ = require('underscore');
var user = new User({"username" : "Joe"});
user.save(function(err, newuser){
if (err) return next(err);
var nu = _.clone(newuser);
nu.newbie = 'true';
res.send(JSON.stringify(nu));
});
ここでは例として応答が(これはnu
に何である)です。
{
"username": "Joe",
"_id": "4f343383a5503c452a000002",
}
あなたが見ることができるように、私は財産nu.newbie
とセットを追加しようとしていますそれはtrue
にあり、動作していません。私はこれがある種の範囲または参照の問題であると信じています。何か案は?
悪い応答の例を挙げることはできますか?あなたが働かないことは、 'newbie'というプロパティが完全に見つからないか、値だけが欠落していることを意味しますか?残りの「newuser」はそれをレスポンスにしていますか? –
本当に文字列 "true"としてエンコードするつもりでない限り、動作しない理由は見当たりません( 'true'を引用する必要はありませんが)。 – Flambino
@XHR役職。初心者は完全に欠けている。 – k00k