1. ホーム
  2. mongodb

[解決済み] MongoDBと同等ではない

2022-02-18 21:05:15

質問

MongoDBのクエリでテキストフィールドが''(空白)でないものを表示しようとしています

{ 'name' : { $not : '' }}

しかし、次のようなエラーが発生します。 invalid use of $not

ドキュメントに目を通しましたが、使われている例は複雑なケース(正規表現と $not 他の演算子を否定する)。

私がやろうとしている単純なことは、どうすればいいのでしょうか?

どのように解決するのですか?

使用方法 $ne -- $not の後に標準演算子が必要です。

の例 $ne これは、not equal の略です。

use test
switched to db test
db.test.insert({author : 'me', post: ""})
db.test.insert({author : 'you', post: "how to query"})
db.test.find({'post': {$ne : ""}})
{ "_id" : ObjectId("4f68b1a7768972d396fe2268"), "author" : "you", "post" : "how to query" }

そして今 $not で、これは述語 ( $ne ) を否定し ( $not ):

db.test.find({'post': {$not: {$ne : ""}}})
{ "_id" : ObjectId("4f68b19c768972d396fe2267"), "author" : "me", "post" : "" }