# db.command.or

Query command. Describes the logical "or" relationship, indicating that at least one query filter is required to be met. The "or" command can be used in two ways: to perform an "or" operation on the value of a field, or to perform an "or" operation on the values of multiple fields.

The "or" operation on the value of a field is to specify one value of the field to one of multiple values:

Sample code of the "or" operation on the value of a field:

Filter out the todos whose progress is greater than 80 or less than 20:

Streaming writing:

const _ = db.command
db.collection('todo').where({
  progress: _.gt(80).or(_.lt(20))
})

Pre-writing:

const _ = db.command
db.collection('todo').where({
  progress: _.or(_.gt(80), _.lt(20))
})

In the pre-writing, an array may be alternatively received:

const _ = db.command
db.collection('todo').where({
  progress: _.or([_.gt(80), _.lt(20)])
})

A cross-field "or" operation is an "or" condition equivalent to a condition in which at least one of multiple imported "where" statements is met. For example:

Sample code of the cross-field "or" operation:

Filter out the todos whose progress is greater than 80 or that have been completed:

const _ = db.command
db.collection('todo').where(_.or([
  {
    progress: _.gt(80)
  },
  {
    done: true
  }
]))