Again Rick, Great job!!!
Jim
FWIW, I used MongoDb on a recent project (with .NET though) and it's been phenonemal both in terms of superior performance and ease of use for complex data structures that would have been a pain to work with using SQL (lots of small many to many relationships) that expressed very easy with Mongo. The pain points are definitely aggregation and when required cross table querying - there's some out of the box thinking required for that.
BTW, talking about aggregation - not sure if you saw, but I added support for aggregations to wwMongoDb last month so you CAN at least run that from FoxPro now.
+++ Rick ---
I just wanted to say that I love this VFP to Mongodb communications... Again.. as usual Rick did an outstanding job with this.. We are using it in production... We have some very large files that are only going to get larger.. so we put our data in mongodb Wconnect is a perfect fit for us even though we are slowly getting away from using dbf files as our main files.. We use jquery..ajax...socket.io mongoose.. backbone.. express.. etc in on the client side for the easy to handle web traffic ... we use nodejs and wconnect for backend... We point to wconnect for reporting.. authentication... email... basically anything thats a pain to do in node, we pass to wconnect to get the job done.. and some things are just easier in vfp... ie. data grouping.. "its not trivial in mongodb". Reporting... accounting data very easy in wconnect.. pain in node... VFP to Quickbooks.. We are still able to use the QBSDK interface easily.. We just call our mongodb files from wconnect get the data into dbfs.. instantiate some QB objects .. and pass the data in.... We just add a /wc in the URL for routes needing to go to wconnect . some routes point to node some to wconnect.. The urls with no /wc go to node, with /wc go to wconnect. Eventually we will be putting mongodb and node on a non-windows servers for better speed..etc.. and wconnect will keep us on the windows side for our everyday business needs..
Again Rick, Great job!!!
Jim
West Wind Technologies
Making waves on the Web
from Maui
Mongodb w/node is fast as lightning.. We actually switched from mongoose to the mongodb native driver... I really don't need all that schema overhead... When we migrated our data we just sent that data as is... We should have made sub-documents inside outer-documents to solve the join(s) issue... no big deal.. it's so fast.. two queries to get the data is still faster than the norm.... FWIW, ".find()/selecting" data from 2 collections in mongodb in wconnect getting the data into 2 dbf files.. doing a query on the 2 dbfs w/joins.. Group By.. etc... is faster than ".find()/selecting" data from 2 collections in mongodb and using javascript to iterate and iterate and iterate the data to get the results need...
On another note Rick.. I see you use Angularjs for client side a lot... I was using Angularjs too.. However, angularjs seemed to dictate how i did everything.. I was using Senchas ExtJs and it dictated everything... So I switched to Angularjs until I realized.. hmmm this is the same thing as ExtJs forced me to do.. I switched to backbone/underscore and love it.. it's still MVC and very light weight.. Every library has it's pros and cons... Meteor.js looks interesting..
Thanks for all you do Rick!
Jim
Thanks for the feedback Jim. Glad that it's helping you out - and good to see you have a great use case that mixes VFP and other technologies together.
FWIW, I used MongoDb on a recent project (with .NET though) and it's been phenonemal both in terms of superior performance and ease of use for complex data structures that would have been a pain to work with using SQL (lots of small many to many relationships) that expressed very easy with Mongo. The pain points are definitely aggregation and when required cross table querying - there's some out of the box thinking required for that.
BTW, talking about aggregation - not sure if you saw, but I added support for aggregations to wwMongoDb last month so you CAN at least run that from FoxPro now.
+++ Rick ---
I just wanted to say that I love this VFP to Mongodb communications... Again.. as usual Rick did an outstanding job with this.. We are using it in production... We have some very large files that are only going to get larger.. so we put our data in mongodb Wconnect is a perfect fit for us even though we are slowly getting away from using dbf files as our main files.. We use jquery..ajax...socket.io mongoose.. backbone.. express.. etc in on the client side for the easy to handle web traffic ... we use nodejs and wconnect for backend... We point to wconnect for reporting.. authentication... email... basically anything thats a pain to do in node, we pass to wconnect to get the job done.. and some things are just easier in vfp... ie. data grouping.. "its not trivial in mongodb". Reporting... accounting data very easy in wconnect.. pain in node... VFP to Quickbooks.. We are still able to use the QBSDK interface easily.. We just call our mongodb files from wconnect get the data into dbfs.. instantiate some QB objects .. and pass the data in.... We just add a /wc in the URL for routes needing to go to wconnect . some routes point to node some to wconnect.. The urls with no /wc go to node, with /wc go to wconnect. Eventually we will be putting mongodb and node on a non-windows servers for better speed..etc.. and wconnect will keep us on the windows side for our everyday business needs..
Again Rick, Great job!!!
Jim