node.js - 在 Node.js 中查找 MongoDB 的查询

标签 node.js mongodb find

我有以下查询,其中 oids 是对象 id 的数组。

users.find({ _id: { $in: oids } }, function(err, result){
    console.log(result);
}); 

我期望一个用户列表,其中用户的 id 位于对象 id 数组中,但实际结果如下所示:

{ 数据库: { 数据库名称: '用户', 服务器配置: { _callBackStore: [对象], 主机:'本地主机', 端口:27017, 选项:[对象], 内部大师:真实, 连接:真实, 池大小:5, 禁用DriverBSONSizeCheck:假, 从属Ok:未定义, _used:真实, 复制集实例:空, ssl:假, ssl验证:假, sslCA:空, sslCert:未定义, sslKey:未定义, sslPass:未定义, _readPreference:空, 套接字选项:[对象], 记录器:[对象], 事件处理程序:[对象], _serverState: '已连接', _状态:[对象], 记录查询统计:假, db:[循环], dbInstances:[对象], 连接池:[对象], isMasterDoc: [对象] }, 选项:{w:1}, _applicationClosed:假, native_parser:未定义, bsonLib: { 代码:[功能:代码], 符号:[功能:符号], BSON:[对象], DBRef:[功能:DBRef], 二进制:[对象], 对象ID:[对象], 长:[对象], 时间戳:[对象], 双倍:[功能:双倍], MinKey:[功能:MinKey], MaxKey: [功能:MaxKey] }, 布森:{} ...等等...

如果我使用user.findOne(...),结果是预期的用户,但我喜欢查询数组中的所有用户。

最佳答案

find() 方法返回一个光标,因此“结果”正在打印所有光标详细信息。我想你必须做这样的事情:

collection.find().toArray(function(err, results) {
     test.assertEquals(1, results.length);
});

关于node.js - 在 Node.js 中查找 MongoDB 的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16473155/

相关文章:

mongodb - 我们需要多久在 AWS 上执行一次 MongoDB 备份?

python - 在 python 中获得相当于 "find ."的最简单方法?

javascript - 遍历对象数组并通过 ID 引用返回总和

javascript - 更新配置注入(inject)以在运行时获取配置文件的名称而不是硬编码

javascript - Typescript 在没有 .dts 文件的情况下丢失模块加载信息

javascript - MongoDB 和 Nodejs,通过 ids 列表查找

javascript - 使用 node.js 函数在 cloudant 中创建搜索查询

node.js - 将 Heroku 应用程序连接到 Atlas MongoDB 云服务

c++ - 命令我检查字符串得到错误的输出

c++ - 结构的搜索 vector