我不知道如何使用nodejs本机驱动程序打印mongodb查询结果

时间:2012-07-08 07:35:00

标签: node.js mongodb

我使用以下内容在数据库中存储单个单词:

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”(没有引用)。我已经尝试了从array,nextObject等的所有内容。

我错过了什么?我已经尝试了几个小时!

3 个答案:

答案 0 :(得分:4)

如果你对某个领域感兴趣,你应该打印它,而不是整个对象(主要是因为Javascript中对象的字符串表示不是很有用)。

 console.log("New Word: " + results.word);

答案 1 :(得分:1)

在节点中,您可以使用:console.log("New Word: ", results);(请注意逗号)。

另一种选择:console.log( JSON.stringify(results) );

它会打印出类似:{ "_id" : "4ff92def446ce41df5692385", "word" : "asdf" }

的内容

我真的不同意“Javascript中对象的字符串表示形式不是很有用”。我觉得它至少有用。

答案 2 :(得分:0)

您可以覆盖结果对象的toString方法,如下所述:http://blog.anselmbradford.com/2009/04/05/object-oriented-javascript-tip-overriding-tostring-for-readable-object-imprints/或者只需通过指定object.propertyname打印要显示的属性。