Javascript 使用mongojs和node.js,如何查找使用多个属性作为标准的文档
我正在尝试使用find方法返回满足以下多个条件的文档:Javascript 使用mongojs和node.js,如何查找使用多个属性作为标准的文档,javascript,node.js,mongodb,mongojs,Javascript,Node.js,Mongodb,Mongojs,我正在尝试使用find方法返回满足以下多个条件的文档: db.issues.find({ 'title.name': name, 'title.year': year, 'title.publisher': publisher }, function(err, issues) { ... 结果我得到了一个空数组 如果我直接在mongodb控制台中尝试相同的查询,我会按预期返回结果 在mongojs中,如果我只提供一个属性,我就能够检索结果,如下所示: db.issues.find({ 'tit
db.issues.find({ 'title.name': name, 'title.year': year, 'title.publisher': publisher }, function(err, issues) { ...
结果我得到了一个空数组
如果我直接在mongodb控制台中尝试相同的查询,我会按预期返回结果
在mongojs中,如果我只提供一个属性,我就能够检索结果,如下所示:
db.issues.find({ 'title.name': name }, function(err, issues) { ...
那么,如何使用多个属性执行搜索呢?我需要使用不同的方法吗
更新于2014年2月2日7:56
问题模式如下:
{
title: { name: 'Some title name', year: 1999, publisher: 'Some publisher' },
number: "122",
variant: null,
print: "1",
year: "1999",
certification: { type: "Some certification", grade: 10 },
url: "http://www.someurl.com",
sales: []
}
mongojs处理查询的方式没有区别,因为它的目的是(在某种程度上)模仿MongoShell的行为
您确定您的条件实际上返回了一些内容吗?就目前而言,你可能有一个问题。如果仍然无法诊断此问题,请将预期得到的结果和部分模式作为编辑发布。别忘了检查你的var,数字不是字符串,反之亦然。你能给我们看看你的问题模式吗?查询似乎很好,我用问题模式更新了帖子。是的,就是这样。年份需要转换为整数。它被视为字符串。谢谢