Skip to content

Commit

Permalink
Added more explicit details about ForerunnerDB's differences with Mon…
Browse files Browse the repository at this point in the history
…goDB

Further details to help users understand differences from MongoDB as per #43
  • Loading branch information
Irrelon committed Jun 11, 2015
1 parent 76d9a00 commit 96ab60a
Showing 1 changed file with 25 additions and 3 deletions.
28 changes: 25 additions & 3 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,11 @@ a UK registered company.
</table>

## What is ForerunnerDB
ForerunnerDB is a NoSQL JavaScript database with a query language based on MongoDB
and runs on browsers and Node.js.
ForerunnerDB is a NoSQL JavaScript database with a query language loosly based on
MongoDB (with some differences) and runs on browsers and Node.js.

##### ForerunnerDB & MongoDB
Please see the [#](differences from MongoDB) section for more information.

## What is ForerunnerDB's Primary Use Case?
ForerunnerDB was created primarily to allow web application developers to easily
Expand Down Expand Up @@ -1938,6 +1941,25 @@ object but you do not want it to affect the outcome of the query.
}
});

# Differences Between ForerunnerDB and MongoDB
Developers familiar with the MongoDB query language will find ForerunnerDB quite similar
however there are some fundamental differences that you should be aware of when writing
queries for ForerunnerDB.

> An update is being worked on that will allow a MongoDB emulation mode flag to be set
to force ForerunnerDB to behave exactly like MongoDB when running find and update
operations. For backward compatibility we cannot enable this by default or simply
change default operation of CRUD calls.

## find
ForerunnerDB uses objects instead of dot notation to match fields. See issue #43 for more
information. The reason we do this is for performance.

## update
ForerunnerDB runs an update rather than a replace against documents that match the query
clause. You can think about ForerunnerDB's update operations as having been automatically
wrapped in the MonogDB $set operator.

# Development

## Unit Tests
Expand Down Expand Up @@ -2128,4 +2150,4 @@ of the documentation for examples of correct usage.
Migrating old code should be as simple as searching for instances of "join" and
replacing with "$join" within ForerunnerDB queries in your application. Be careful not
to search / replace your entire codebase for "join" to "$join" as this may break other
code in your project. Ensure that changes are limited to ForerunnerDB query sections.
code in your project. Ensure that changes are limited to ForerunnerDB query sections.

0 comments on commit 96ab60a

Please sign in to comment.