4

次を使用して、データベースに単一の単語を保存しています。

collection.update({},{$set:{word:newWord}},{upsert:true},function(){
    collection.find().nextObject(function(err, results) {
        oldWord = results;
        console.log("New Word: " + results);
    });
});

ここに私のDBの例があります

{ "_id" : ObjectId("4ff92def446ce41df5692385"), "word" : "asdf" }

console.log 行に到達するたびに、次のようになります。

New Word: [object Object]

上記のレコードから「asdf」(引用符なし)を分離しようとしています。toArray、nextObject などのすべてを試しました。

私は何が欠けていますか?私は何時間も試してきました!

4

3 に答える 3

4

一部のフィールドに興味がある場合は、オブジェクト全体ではなく、それを出力する必要があります (主に、Javascript でのオブジェクトの文字列表現はあまり役に立たないため)。

 console.log("New Word: " + results.word);
于 2012-07-08T07:42:59.040 に答える
2

ノードでは、次を使用できます: console.log("New Word: ", results);(コンマに注意してください)。

別のオプション:console.log( JSON.stringify(results) );

次のようなものが出力されます。{ "_id" : "4ff92def446ce41df5692385", "word" : "asdf" }

「Javascript でのオブジェクトの文字列表現はあまり役に立たない」という意見にはまったく同意できません。少なくとも役に立ちます。

于 2013-10-21T02:48:20.283 に答える
0

ここで説明されているように、結果オブジェクトのtoStringメソッドをオーバーライドすることもできます: /または、表示するプロパティを指定して表示するだけobject.propertynameです。

于 2012-07-08T07:45:26.497 に答える