0

我正在尝试使用 find 方法返回满足多个条件的文档,如下所示:

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) { ...

那么,如何使用多个属性执行搜索?我需要使用不同的方法吗?

更新 2/2/2014 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: []
}
4

1 回答 1

1

mongojs 处理查询的方式没有区别,因为它的目的是模仿(某种程度上)mongo shell 的行为。

您确定您的标准实际上返回了一些东西吗?就目前而言,您可能在那里遇到问题。如果您仍然无法诊断此问题,请将您期望获得的结果和您的一些架构发布为编辑。不要忘记检查你的 var 数字不是字符串,反之亦然。

于 2014-02-03T00:55:38.170 回答