
I recently had to implement geospatial search using MongoDB at work. It was fairly simple to learn and implement it. I have broken it down into 3 components that are needed for implementing GeoSpacial Search using MongoDB.
For this article, I would like to do geospatial search for Garden Centers near by my house and search them by distance.
In order for me to do a GeoSpatial search, First I need to store data in MongoDB. Here is how I am going to do it.
MongoDB supports storing Geospatial data in two formats GeoJSON Objects or LegacyCoordinatesPairs. In this article…

We all heard while growing up is to get good grades, graduate from school, work for a great company which provides great benefits and then you can live your life happily ever after.
Something that no one taught me is about financial literacy. How I can create assets not liabilities when I start to make money on my own. Money is something that pushes out of the door every day to go to work.We better invest in the right place so that we don’t have to work forever.
A lot of my friends suggested me to read Rich Dad Poor…

We have recently moved from Jira/Bitbucket to Azure DevOps at my work. I was skeptical at the beginning but pleasantly surprised by the feature set and how well it worked for our team. I am not trying to say that it is a perfect tool or it is better than Atlassian toolset.
Here are some challenges that we had as a team and how we solved them using Azure DevOps(AzDo) Pull request workflow.
This is something that we follow as a team to have minimum of 2 reviewers for every pull request before it gets merged to the master. …

In my late twenties, I thought I should take my finances my seriously and I ended up reading bunch of books about retirement plans like 401(k), IRA, Roth IRA, etc. There is a lot of information and I tried to process as much as I can with my tiny brain.
Here are somethings that I have learned and thought of sharing it with people who might be going though the same in their life.
Most of the employers in the USA provides 401(k) as part of their employment. They match your contribution to this fund up to certain level. …

In the part 1 of this series, I gave an introduction to aggregation framework along with $match and $project stages.
In this article, I would like to cover below aggregation stages in detail and how they can be used for transforming the data using aggregation pipelines.
$addFields is used for adding new fields and modify existing fields in MongoDB documents. This is very similar to $project except this does not eliminate fields and it adds more fields to the existing list of fields in a document.
Official definition from MongoDB
Adds new fields to documents.
$addFields…

Aggregation framework is used for transforming the data using stage operators. Here is the definition from MongoDB documentation.
The aggregation pipeline is a framework for data aggregation modeled on the concept of data processing pipelines. Documents enter a multi-stage pipeline that transforms the documents into aggregated results.
Aggregation pipelines are a composition of various stages that transform and filter the data. Technically documents flow through the pipeline like assembly line and get transformed. Here is the list of available stages in Aggregation framework.
For example, we have people database with their employer information.We would like know the count of all…

We all have those requirements where we need to display/use data stored multiple collections in one page. That will lead us to the below solutions.
All of the above solutions are effective until we have multiple joins and need the data super fast.
Extended reference pattern is well suited for applications with repeated joins and application is trying to query the data multiple times.
Idea behind this pattern is to store the frequently accessed data of one side on to the many side in one to many relationship.
Let’s say that we…

Data modeling for NoSQL database is pretty interesting. Before I started learning about it, I have had basic questions like
These questions lead me start taking MongoDB university Data Modeling course. It is a free course and MongoDB did a good job of creating great content.
Patterns for data modeling are powerful tools for creating scalable and high performant databases. Patterns are reusable units of knowledge.They are very similar to design patterns in software development.
…
I recently came across an awesome feature in Google sheets. It is very flexible and easy to arrange stock portfolio the way you wanted on Google sheets.
I am not a million dollar investor. I am still experimenting with small amount of money every month.
Here are the simple steps to create stock portfolio on Google sheets.
Step 1 — Create Spread sheet
Create a new Google sheet by clicking on new sheet and name it “Stock Portfolio”

Step 2 — Create columns
Create 5 columns named Ticker Symbol, Company Name, Current Price, Quantity, Equity
WWDC links to get started with Core data. 2019 2018 2017
Quick recap on how to add Launch arguments on Xcode
Select Scheme -> Edit Scheme -> Click on arguments tab and add the launch argument(s)

This is helpful to look at underlying Sqlite queries while using core data for read and writes. There are three different levels of logs.
Note: Make sure to include“-” in the argument.
Launch Argument: -com.apple.CoreData.SQLDebug [1,2,3]

Tech Girl, Amateur Gardener, Finance enthusiast