I'm trying to display a query in MongoDB where a text field is not '' (blank)
{ 'name' : { $not : '' }}
However I get the error invalid use of $not
I've looked over the documentation but the examples they use are for complicated cases (with regexp and $not negating another operator).
How would I do the simple thing I'm trying to do?
解决方案
Use $ne -- $not should be followed by the standard operator:
An examples for $ne, which stands for 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" }
And now $not, which takes in predicate ($ne) and negates it ($not):
db.test.find({'post': {$not: {$ne : ""}}})
{ "_id" : ObjectId("4f68b19c768972d396fe2267"), "author" : "me", "post" : "" }