Chris Rockwell
Chris Rockwell

Reputation: 1852

Query document for record with array value of null

I have a document like this:

{
    "_id" : "4mDYgt6gID",
    ...
    "MultipleChoiceQuestions" : [ 
        {
            ...
            "LeadInFile" : null,
            ...
        },
        {
            ...
            "LeadInFile" : 'some string',
            ...
        }
    ],
    ...
}

How do I query for any documents that have a non-null value in LeadInFile?

I'm trying different things, currently something like this db.getCollection('QuizTime:Quizzes').find({"MultipleChoiceQuestions": [{ "LeadInFile": { $ne: null}}]});

Is returning 0 records.

Upvotes: 0

Views: 44

Answers (1)

Adam Harrison
Adam Harrison

Reputation: 3431

The current form of the query is saying:

Find documents where MultipleChoiceQuestions is [{ "LeadInFile": { $ne: null}}]

Try using dot notation; this is used to access elements of an array or fields in an embedded document. For example:

db.getCollection('QuizTime:Quizzes').find({
  "MultipleChoiceQuestions.LeadinFile" : { "$ne" : null }
})

Upvotes: 1

Related Questions