我有以下查询,其中 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/