Uploaded image for project: 'Mongoid'
  1. Mongoid
  2. MONGOID-2090

.any_in doesn't handle nil

    • Type: Icon: Task Task
    • Resolution: Done
    • 3.0.0
    • Affects Version/s: None
    • Component/s: None

      Testing against 2.4.11

      This works:

      MyModel.where(foo_id: nil)
      

      But this doesn't work (it only captures documents where foo_id was not nil):

      MyModel.any_in(foo_id: [nil,Foo.first.id])
      

      This also doesn't work (it captures no documents):

      MyModel.any_in(foo_id: [nil])
      

      But equivalent queries run directly against MongoDB do work:

      db.my_models.find({foo_id: { $in : [null] }})
      db.my_models.find({foo_id: { $in : [null,ObjectId("4fcfa5d0202cb17b63000003")] }})
      

      The criteria_spec also doesn't handle the case where nil is passed to any_in

            Assignee:
            durran Durran Jordan
            Reporter:
            veesahni veesahni
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: