Is there a way to get data GUI view in Meteor.js? - meteor

Is there a way to get data GUI view in Meteor.js?
If yes please enlighten me, as I am new to meteor. I just need to know what is the best way to access database in meteor mongodb...
Thanks!!!

Use either:
Z Mongo Admin, a meteor package similar to Django admin. This is
probably the closest to what you're looking for:
http://www.youtube.com/watch?v=ixJyB8Z-tU8&list=UU3fBiJrFFMhKlsWM46AsAYw
One of the many Mongo GUIs, I use both robomongo
(http://robomongo.org/) and mongohub
(https://github.com/bububa/MongoHub-Mac) on OSX.

I've found that this little package called Mongol is good for development to have a quick and easy way to look at your data right from within your web app.
https://github.com/msavin/Mongol

RoboMongo provides a good UI for Mongo DB (Download link). When i tried with meteor, follow these steps:
Run Meteor cd ing into your Project Folder (usually runs at http://localhost:3000/)
Download and Install the Robomongo from the Download link
Create a new connection in the robomongo UI, clicking on the following icon:
Connect to port number 3001 instead of default 27017, and you can see the mongo db and it's contents

There's no GUI given. You can access db from command line by using meteor mongo while your server is running.

Appreciate the mention for Mongol!
I wanted to say that there is now one more option for viewing and interacting with data in your Meteor app called Meteor Candy. It's a little less raw than viewing JSON, which makes it far more palatable for non-developers. And of course, there is still an option to view raw JSON :)

Related

Meteor on a Nitrous box: how to add a test record in the MongoDB database?

So, I have started to test Meteor on a Nitrous.io box in the cloud. I used to enter a test record by typing it directly into the Chrome browser console, like:
Projects.insert({name:'First Project',client:'Project Central',duedate:new Date(),status:'On Hold'});
However, that does not work on Nitrous.
So, how do I add a test record in my meteor collection to work on?
Who can help me in the right direction? Much appreciated.
After you run meteor run in a Nitrous.io console,
open up another console and run meteor mongo.
Then you can type in a db.Projects.insert(...) or other mongoDB command.
There might be the case if you removed insecure package, insert will not work from browser client.
Check if the 'insecure' package installed or not using following command
meteor list --using
which will list the packages which are used by the meteor app.

DynamoDB client in local with UI like PHPMyAdmin

I am creating web service in zend framework which uses DynamoDB. So I installed DynamoDB in local. But it's not easy to use. Even for inserting data and update any data for testing for purpose I have to write a script.
Is there any DynamoDB client available for MAC ? In which we can insert/update/delete data from UI.
EDIT
Doubts
1) Do I have to run a SQL to see table data? I thought there would be GUI for this.
2) I am not able to use where clause in SQL. What if I want to see one or two records from all? Is there a way to use conditions in this?
3) All fields of a row is not visible and I am not able to scroll it horizontally ?
YES! I've finally found a solution after struggling with this myself:
Run your local dynamodb jar with the following command java -jar DynamoDBLocal.jar -dbPath . [this will create a file in whatever directory the Dynamo jar is located in].
Download SQLite Database Browser and extract/install it.
Start SQLite Database Browser
Navigate to "Open Database" from the file menu
Navigate to the directory from 1. Select the file [in this case, ****_us-east-1]
You should then see the database contents!!
Hope this helps - it's been frustrating me no end!
!! EDIT !! - in response to original question edit.
Doubts
1) Do I have to run a SQL to see table data? I thought there would be
GUI for this.
2) I am not able to use where clause in SQL. What if I want to see one
or two records from all? Is there a way to use conditions in this?
3) All fields of a row is not visible and I am not able to scroll it
horizontally ?
Yes - you can do a simple "select" statement, for instance in my examples: "SELECT * FROM tweet_item" returns me the following screenshot:
Seemingly inadvertanyl - whilst I couldn't get the direct SELECT * FROM XX WHERE XX to work, the like statement does. For instance SELECT * FROM tweet_item where tweet_item.hashKey like "%425665354447462400%" returns me the tweet with tweet_id [my hashKey] of 425665354447462400:
Strange - I seem to be able to scroll quite happily [although it is Windows not Mac]. It also automatically tries to re-size the outer frame, too.
I ran into this problem and found a relatively new solution : https://github.com/aaronshaf/dynamodb-admin
It has provision for GET/POST/PUT/DELETE.
Although its a paid product, which is a bummer, RazorSQL now supports DynamoDB as well, and does let you change the AWS endpoint to point to a local installation.
The mac version (with a free trial) is available here:
http://razorsql.com/download_mac.html
Here is a very useful ui tool https://github.com/YoyaTeam/dynamodb-manager,It supports almost all data operations。
For Eclipse users:
Amazon provides AWS Toolkit for Eclipse IDE. It can view local and cloud databases. Also if you are using different regions, it has ability to choose from different regions.
You can create attributes, add keys etc..
For installation follow this link: http://docs.aws.amazon.com/toolkit-for-eclipse/v1/user-guide/getting-started.html
Dynobase is new DynamoDB GUI Client which also lets you browse and manipulate local DynamoDB instances: https://dynobase.dev/dynamodb-local-admin-gui/
Unfortunately, it's paid but there's free 7-days trial, works on Mac, Windows and Linux: https://dynobase.dev/

Permanently configure Meteor development MongoDB url

I am trying a test to move all my development to Nitrous.io IDE, but with limited space in my Nitrous box I want to permanently host my Mongo databases at MongoHQ.com. Currently each day I need to set my MONGO_URL by running:
export MONGO_URL='mongodb://<user>:<pass>#paulo.mongohq.com:12345/<db>'
If I fire up another console or logout of Nitrous my MONGO_URL needs to set again.
How can I set the development MONGO_URL for good per meteor app? I cannot find a config file anywhere.
Nitrous support helped me find a quick solution. Just wanted to answer it here for others with the same issue.
Open ~/.bash_profile and enter your DB information.
example:
export MONGO_URL='mongodb://jimmy:criket#paulo.mongohq.com:12345/mynitrobox'
Next in the console run source ~/.bash_profile to load the settings.
This sets the DB for your entire node.js box, not individual meteor apps, so you may want to structure your Mongo collections accordingly with subcollections.
you can do this in one line like so:
MONGO_URL='mongodb://<user>:<pass>#paulo.mongohq.com:12345/<db>' meteor
I don't know much about Nitrous.io but in AWS EC2 I have an upstart job that runs this for me when the server starts.
I gist'd my approach a while back, I've since changed it a bit but this still works:
https://gist.github.com/davidworkman9/6466734
I don't know that this will help you in Nitrous.io though, good luck!

What are the steps to bundle Meteor into a client-side-only IOS app

I have tested Cordova as a way to embed a HTML5/JavaScript application into an IOS application without a remote server.
I would like to embed Meteor instead: for my learning, for the reactivity, and so that later I can add a server-side for storing data.
What are the key steps to do this? I would need to use LocalStorage instead of in-memory storage of minimongo. Are there also steps to embed Meteor? Would I also need Cordova to provide a functional environment for Meteor? Are there steps to tell Meteor there is no server?
At the moment its not possible to persist storage with local meteor collections. You can create collections without specifying the collection name e.g
var MyCollection = new Meteor.Collection(); //(instead of Meteor.Collection("MyCollection");
The issue is as soon as you close the application the data will be cleared. So this makes it very difficult to make your app offline only.
There is also a package being worked on to help allow offline collections while a server is not available: https://github.com/awwx/meteor-offline-data#readme
You can still use meteor with cordova and phonegap though, but you will need a data connection. To bundle your cordova application there is a very helpful script: https://github.com/guaka/meteor-phonegap
I have created an application using cordova, meteor and packmeteor.
For me it works pretty nicely.
I wrote a block post on how you can get started with it here.
For the local persistence of data I used GroundDB.

Meteor admin panel package

does meteor have backend admin panel like "rais_admin" or "active admin" in rails for CRUD operations under models?
One of the teams at the first Meteor Summer Hackathon wrote the z-mongo-admin package that gives you a panel for basic CRUD operations. This should have the functionality that you're looking for.
Update 6/1/2015 - YES, since version 1.0.2. Once your app is running using meteor, run meteor shell in the same directory in a separate tab and you'll have a REPL.
Not yet. You can run meteor mongo in the app directory to access the database. Currently, you need the app running for this to work.
Observatory is a burgeoning logging and testing framework. Perhaps some kind of REPL will fit in the future.
Meteor Admin is an alternative to Houston based on the Autoform package.
It offers full CRUD based on your collection schemas.
Meteor Candy is an admin panel made just for Meteor. The idea is, everyone builds their Meteor app differently, but we do have commonalities such as the use of Accounts packages, etc, and that's a good place to start.
The package uses Dynamic Import available in Meteor 1.5, which means it adds virtually no weight to your client bundle.
Disclosure: I am the creator of the package
You should try Houston: https://github.com/gterrono/houston
Watch the video presentation here:
https://www.youtube.com/watch?v=8ASwWEZsAog

Resources