GroundDb - loadDatabase not working


#1

I am using groundDb in an exiting application.
Right now I am simply trying to ground Meteor.users:

GroundedUsers = new Ground.Collection("Meteor.users")
GroundedUsers.observeSource(Meteor.users.find())
if Meteor.isCordova && Meteor.status() != 'connected'
  GroundedUsers.loadDatabase()

The above did not work.
So, I tried overriding find and findOne method:

Meteor.users.find = (args...) ->
    GroundedUsers.find(args...)
Meteor.users.findOne = (args...) ->
    GroundedUsers.findOne(args...)

Now, Meteor.users.find({_id: Meteor.userId()}).fetch() should return a document but it returns a plain object. I have apply Collection._transform to transform it into a document.

If loadDatabase() would be working, I should not have to do the same.

PS: Above code is written in coffeescript.

Any help would be nice.

Thanks


#2

Do you mean Meteor.users?

Meteor.user() is a function call, not a database operation.

SomeCollection.find() always returns a cursor (client or server).

Have you published (and subscribed to) Meteor.users? By default, only the current user is published.


#3

Thanks for the reply @robfallows. Here what I need to do is set Meteor.user() as the current user document. To do the same I will have to transform each object into a document which is not neat I guess.

I have modified the question accordingly.