当前位置: 首页 > 知识库问答 >
问题:

NodeJS中BSON对象的console.log

朱华皓
2023-03-14
db.collection('adslots').findOne({_id: adslotId}, (err, adslot)=>{
    console.log( adslot );
}
adslot:
{ _id: 57ef0b9b26d1d77b606bf271,
  name: 'cspop',
  width: 1,
  height: 1,
  elemId: 'dummy',
  active: true,
  updated: 2016-10-01T01:04:27.597Z }
console.log( "adslot:\n" + adslot._id.constructor.name );

给予

adslot:
ObjectID

尽管adslotobjectid的构造函数调用isvalid()(http://mongodb.github.io/node-mongoDb native/2.2/api/objectid.html#.isvalid),但它会出现错误:

console.log('adslot:');
console.log( adslot._id.isValid() );

结果:

adslot:
/home/vlad/arbsrv/node_modules/mongodb/lib/utils.js:98
    process.nextTick(function() { throw err; });
                                  ^

TypeError: adslot._id.isValid is not a function

为什么如果_idobjectid的实例,那么isvalid()没有在其上定义呢?

共有1个答案

爱繁
2023-03-14

isvalid是在objectid本身而不是其原型上定义的。ObjectId的实例将不具有此方法。尝试将其调用为objectid.isvalid()

以以下内容为例:

function ObjectId(){}

ObjectId.isValid = function(){
    return true;
}

ObjectId.prototype.sayHi = function(){
    return 'hello';
}

var a = new ObjectId();
a.sayHi(); // hello
a.isValid(); // raises exception

ObjectId.isValid(); // true

为什么console.log()将_id打印为数字而不是对象?

 类似资料:
  • 问题内容: 我有从外部应用程序获取数据的Java应用程序。传入的JSON以字符串形式。我想解析该Strings并创建BSON对象。 不幸的是,我在Java的BSON实现中找不到用于此的API。 我是否像GSON这样使用了外部解析器? 问题答案: 最简单的方法似乎是使用JSON库将JSON字符串解析为,然后使用方法将这些值放入。

  • 问题内容: 我刚刚在NodeJS环境中看到关键字的奇怪行为。我正在用代码列出它们。我已经使用,用一个文件运行了这些代码。 如下用一行代码进行测试时,无论是否使用该语句,这都指向一个空对象。 但是,当我在自执行函数中运行语句时, 它正在打印一个非常大的对象。在我看来,环境创建的全局执行上下文对象。 并且在执行带有语句的上述功能时,预期它正在打印 但是,在使用浏览器时(我仅使用进行了测试),前三个示例

  • 问题内容: 我想知道如何解析NodeJS中的JSON对象数组? 我想将JSON数组发布到服务器,并能够将接收到的数组用作可靠的JavaScript数组。 提前致谢。 这是我要使用stringify函数将Array转换为String的前端部分 这是我尝试将JSON对象的Array转换为Array的后端部分 这是我要发送到服务器的数组: 这是源代码 问题答案: 在您的: 然后,您可以使用来获取过帐的值

  • 问题内容: 我最近在nodejs中从memcached切换到Redis。我在node- memcached中喜欢的事情是我可以将整个javascript对象保存在内存中。可悲的是,我无法在Redis中做到这一点。例如,我得到以下对象: 使用3rd-Eden / node-memcached我可以做到: 然后 然后,我将按原样获得保存的对象。 Redis的问题在于,如果我像这样保存对象: 当我获得价

  • 这里是将上面的yaml文件转换为JSON对象,并尝试根据ID查找一张照片: 得到了以下结果: 问题:我怀疑在console.log(photoArray)的结果中获取“照片”导致我基于id的照片搜索失败。如何去除这个?我相信如果这个被移除,搜索和返回照片将会起作用

  • BSON是在json基础上提出的新的数据形式,它就是直接把一个对象转化为二进制数字来表示。类似 Protocol Buffers BSON 已有多种编程语言的实现,详情请看 http://bsonspec.org/implementations.html MongoDB 关于 BSON 的 Java 实现请看 https://github.com/mongodb/mongo-java-driver