I was trying to find the total number of the document that does not contain both fields filed key and low. But it always returns true and the result is the total number of documents. it does exist such documents do not contain both fields.
Here is the code I tried:
db.test.aggregate([ { "$group": { "_id" : { user_id: "$id" }, "a": { "$sum": { "$cond": [ { $and:[{low:null},{ key:null}] } , 1, 0 ] } }, "b": { "$sum": { "$cond": [ { "$ifNull": ["$key", false] }, 1, 0 ] } }, "c": { "$sum": { "$cond": [ { "$ifNull": ["$low", false] }, 1, 0 ] } }, } }, { "$project": { "_id": 0, "a": 1, "b": 1, "c": 1 } } ])
By using $cond to determine something, but why $cond is always true?
645 Views Asked by Jay Park At
1
There are 1 best solutions below
Related Questions in MONGODB
- MongoDb not connecting C#
- How do I link two models in mongoose?
- MERN Stack App - User Avatar Upload - 500 Error After Deployment on Render
- On the server side, it returns undefined but on the client side, logs the values no problem
- Laravel: Using belongsToMany relationship with MongoDB
- What are some MERN projects that will grow me from junior dev to senior
- Save Interface in DB golang
- findOneAndUpdate not updating value in mongodb?
- Get Type Error when using .countDocuments with mongoDB
- Getting a Large Error Output When Calling MongoDB/Mongoose Functions Without an Error Message
- How to enter data in mongodb array at specific position such that if there is only 2 data in array and I want to insert at 5, then rest data is null
- using Python to insert_one to my mongo_db, How do I pass key values into a function?
- SSL Certificate Verification Error When Scraping Website and Inserting Data into MongoDB
- connect ECONNREFUSED 43.205.72.30:27017 while connecting to Atlas
- Vite is probably changing my import path. What should I do?
Related Questions in MONGODB-QUERY
- using Python to insert_one to my mongo_db, How do I pass key values into a function?
- Spring Data Mongo Property Expression Query not returning any results
- Mongoose - Delete document with all array values are greater than specific value
- MongoDB - $lookup not getting an appropriate result
- the transactions are not rolling back in mongodb
- Understanding $not in combination with $elemMatch in MongoDB
- $mod only supports numeric types, not array and int in MongoDb
- Insert result of a Query using aggregation subquery as filter into new collection
- MongoDB query returning inconsistent results with mongoengine
- Mongo query for newest and oldest data in months in a range of dates
- Removing blocked users from the pipeline with lookup in mongodb
- MONGO DB - Get current Date and time in DD:MM:YYYY:HH:mm:ss without additional data
- Mongodb finding $near by data in array of objects
- $convert is not allowed or the syntax is incorrect in MongoDB playground
- geoLocation or geoNear using let variables for coordinates and radius
Related Questions in AGGREGATION-FRAMEWORK
- how to get corresponding values of fields by passing a map object in $project stage in mongodb aggregation
- MongoDB get limited, evenly spaced documents within date range
- How do i find the sum of a field in Mongo with specific conditions?
- MongoDB - $lookup not getting an appropriate result
- Mongo query for newest and oldest data in months in a range of dates
- Removing blocked users from the pipeline with lookup in mongodb
- geoLocation or geoNear using let variables for coordinates and radius
- Performance or index usage of the queries on an optional key in MongoDB
- Executing MongoDB Aggregation Pipelines from a String in Node.js: Converting String to BSONDocument[]
- Creating a MongoDB Aggregation Pipleine for a query
- mongodb nested object lookup
- Pymongo vector search
- Sorting array created inside $group stage in MongoDB aggregation pipeline
- Within MongoDB aggregate pipeline, match between fields
- How to embed value of let variable from lookup stage of mongodb aggregation?
Related Questions in MONGODB-SHELL
- I am not being able to create document in mongoDB server using mongoose?
- mongodb installation problem in ubuntu 22.04LTS
- "The term 'mongosh' is not recognized as the name of a cmdlet, function, script file, or operable program" error in vscode MongoDB shell
- Getting Error In MongoDB While restoring to Document DB "Unknown admin command atlasVersion"
- update config replication of mongodb sharded database access point mongos during run-time
- mongodb is not distributing data evenly among shards
- How to connect from MongoDB Atlas version 4.4 to Mongo DB Shell?
- MongoDB $unset: "Executing this update would put you over your space quota"
- Handling null values in MongoDB trigger function
- mongoDB Shell Returning products who are 5% far from the minimum stock
- Filtering MongoDB collections within collection using MongoDB Shell
- Unable to configure mongoDB
- mongodb shell login - password contains special characters like -(hyphen) and '(single quote)
- How to save deletion in a deeply nested MongoDB document
- Mongo DB Error while Updating - error on remote shard - caused by cursor id
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Inside the
$condexpression you need to use aggregation operators, not query syntax.Instead of
{low:null}use{$eq:["$low",null]}, and likewise for thekeytest.