Mongoose查询其中value不为null

wes*_*bos 87 mongoose mongodb

希望执行以下查询:

Entrant
    .find
      enterDate : oneMonthAgo
      confirmed : true
    .where('pincode.length > 0')
    .exec (err,entrants)->
Run Code Online (Sandbox Code Playgroud)

我正在做where子句吗?我想选择pincode不为null的文档.

num*_*407 155

您应该能够这样做(因为您正在使用查询API):

Entrant.where("pincode").ne(null)
Run Code Online (Sandbox Code Playgroud)

...这将导致mongo查询类似于:

entrants.find({ pincode: { $ne: null } })
Run Code Online (Sandbox Code Playgroud)

一些可能有用的链接:

  • "不相等",添加了答案的链接 (2认同)

Tín*_*ang 15

$ne

选择字段值不等于指定值的文档。这包括不包含该字段的文档。

User.find({ "username": { "$ne": 'admin' } })
Run Code Online (Sandbox Code Playgroud)

$nin

$nin 选择以下文档:字段值不在指定数组中或字段不存在。

User.find({ "groups": { "$nin": ['admin', 'user'] } })
Run Code Online (Sandbox Code Playgroud)


Mal*_*ean 9

我最终到了这里,我的问题是我在查询

{$not: {email: /@domain.com/}}
Run Code Online (Sandbox Code Playgroud)

代替

{email: {$not: /@domain.com/}}
Run Code Online (Sandbox Code Playgroud)