如何在mongoosejs中找到'OR'?

时间:2014-02-04 06:40:47

标签: node.js mongodb mongoose

我如何在mongoosejs中使用'OR'选择器? 在下面的示例中,我不仅要查找Ghost,还要查找Ghost2。我可以两次调用findOne,但如果存在许多其他字段,我认为这可能效率较低。

var Person = mongoose.model('Person', yourSchema);

// find each person with a last name matching 'Ghost', selecting the `name` and `occupation` fields
Person.findOne({ 'name.last': 'Ghost' }, 'name occupation', function (err, person) {
  if (err) return handleError(err);
  console.log('%s %s is a %s.', person.name.first, person.name.last, person.occupation) // Space Ghost is a talk show host.
})

1 个答案:

答案 0 :(得分:0)

在文档中找到它。 $or运算符可以完成此操作:

var Person = mongoose.model('Person', yourSchema);

// find each person with a last name matching 'Ghost', selecting the `name` and `occupation` fields
Person.findOne({'$or': [{ 'name.last': 'Ghost1' }, {'name.last': 'Ghost2' }], 'name occupation', function (err, person) {
  if (err) return handleError(err);
  console.log('%s %s is a %s.', person.name.first, person.name.last, person.occupation) // Space Ghost is a talk show host.
})