簡體   English   中英

如何指定從查詢中排除文檔的條件?

[英]How do I specify criteria for excluding documents from a query?

這似乎是一個簡單的問題,但我沒有找到答案:我正在使用MongoDB,我想執行一個查詢,其中我提供了搜索條件,但我也想要開出一個例外,其中某些文件被排除在外在標准上。 例如,想象一個包含字段nameagegender的集合。

檢索低於某個年齡的所有人? 簡單: <collection>.find({'age':{'$lt':<maxAge>}})檢索低於特定年齡的所有女性? 一塊蛋糕: <collection>.find({'gender':female, 'age':{'$lt':<maxAge>}})

但是檢索每個人怎么樣,除非他們是[女性且低於某個年齡?]。 您可以使用'$ ne'運算符輕松否定特定字段,但如何否定符合一組條件的所有人?

您必須應用布爾邏輯將AND反轉為每個術語否定的OR:

collection.find({$or: [{age: {$gte: maxAge}}, {gender: {$ne: 'female'}}]})

要么

collection.find({$or: [{age: {$not: {$lt: maxAge}}}, {gender: {$ne: 'female'}}]})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM