我使用以下内容在数据库中存储单个单词:
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等的所有内容。
我错过了什么?我已经尝试了几个小时!
答案 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
打印要显示的属性。