I think I know what the problem is. Hanifi recently identified that the Mongo storage plugin doesn't handle * correctly. Instead of returning a set of columns for the top level of the mongo record, it returns a single top-level column called star. DRILL-1692 identifies the problem and it causes a number of issues when using mongo. Can you try each of the following to see if they work?
select * from mongo.`connect`.events where `*`.events.customerId.`$oid` = '54901607f10c2236769f7b3b' limit 1; OR select events from mongo.`connect`.events where events.customerId.`$oid` = '54901607f10c2236769f7b3b' limit 1; Thanks, Jacques On Wed, Jan 7, 2015 at 12:44 AM, Adam Gilmore <[email protected]> wrote: > Unfortunately, that didn't work. I tried: > > select * from mongo.`connect`.events where events.customerId.`$oid` = > '54901607f10c2236769f7b3b' limit 1; > > returns no results - but there are definitely rows with that value in it. > > On Wed, Jan 7, 2015 at 2:18 PM, Jacques Nadeau <[email protected]> wrote: > > > I believe the current Drill MongoDB plugin is trying to work with > MongoDB's > > extended JSON [1] at the moment. As such, I think you'd need to write > the > > filter as myfield.`$oid` = 'id value' > > > > http://docs.mongodb.org/manual/reference/mongodb-extended-json/ > > > > Note that currently Drill uses SQL expressions with dotted notation > > extensions for filters and doesn't currently support the mongodb based > json > > object filters. > > > > On Tue, Jan 6, 2015 at 3:52 PM, Adam Gilmore <[email protected]> > > wrote: > > > > > Hi Kamesh, > > > > > > Unfortunately it's not on _id - it's on another objectId field we have > in > > > our documents. That seems to work fine with _id but with anything > else, > > it > > > returns no results. > > > > > > Any thoughts? > > > > > > > > > Regards, > > > > > > > > > *Adam Gilmore* > > > > > > Director of Technology > > > > > > [email protected] > > > > > > > > > +61 421 997 655 (Mobile) > > > > > > 1300 733 876 (AU) > > > > > > +617 3171 9902 (Intl) > > > > > > > > > *PharmaData* > > > > > > Data Intelligence Solutions for Pharmacy > > > > > > www.PharmaData.net.au <http://www.pharmadata.net.au/> > > > > > > > > > > > > [image: pharmadata-sig] > > > > > > > > > > > > *Disclaimer* > > > > > > This communication including any attachments may contain information > that > > > is either confidential or otherwise protected from disclosure and is > > > intended solely for the use of the intended recipient. If you are not > the > > > intended recipient please immediately notify the sender by e-mail and > > > delete the original transmission and its contents. Any unauthorised > use, > > > dissemination, forwarding, printing, or copying of this communication > > > including any file attachments is prohibited. The recipient should > check > > > this email and any attachments for viruses and other defects. The > Company > > > disclaims any liability for loss or damage arising in any way from this > > > communication including any file attachments. > > > > > > On Wed, Jan 7, 2015 at 2:08 AM, Kamesh <[email protected]> > wrote: > > > > > >> Hi Adam, > > >> Are you trying apply filter using _id?. If so, Mongo storage plugin > > >> supports it. > > >> > > >> 0: jdbc:drill:zk=localhost:2181> select * from mongo.usda.`zips` where > > _id > > >> = '01077'; > > >> +------------+ > > >> | * | > > >> +------------+ > > >> | { "city" : "SOUTHWICK" , "loc" : [ -72.770588 , 42.051099] , "pop" : > > >> 7667 > > >> , "state" : "MA"} | > > >> +------------+ > > >> 1 row selected (4.792 seconds) > > >> > > >> > > >> On Mon, Jan 5, 2015 at 1:45 PM, Adam Gilmore <[email protected]> > > >> wrote: > > >> > > >> > Hi all, > > >> > > > >> > I'm trying to work out how to filter by an objectId field using the > > >> Mongo > > >> > plugin. I've tried many combinations of = '{$oid: ''id''}' etc. but > > >> > nothing seems to work. > > >> > > > >> > Is this implemented yet? If not, is there a JIRA item for it > already? > > >> > > > >> > > >> > > >> > > >> -- > > >> Kamesh. > > >> > > > > > > > > >
