4

我使用以下命令在数据库中存储一个单词:

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

这是我的数据库的一个例子

{ "_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 方法,如下所述:http: //blog.anselmbradford.com/2009/04/05/object-oriented-javascript-tip-overriding-tostring-for-readable-object-imprints /或 simpy 只需通过指定它来打印要显示的属性object.propertyname

于 2012-07-08T07:45:26.497 回答