Dear readers of our blog, we'd like to recommend you to visit the main page of our website, where you can learn about our product SQLS*Plus and its advantages.
 
SQLS*Plus - best SQL Server command line reporting and automation tool! SQLS*Plus is several orders of magnitude better than SQL Server sqlcmd and osql command line tools.
 

REQUEST COMPLIMENTARY SQLS*PLUS LICENCE

Enteros UpBeat offers a patented database performance management SaaS platform. It proactively identifies root causes of complex revenue-impacting database performance issues across a growing number of RDBMS, NoSQL, and deep/machine learning database platforms. We support Oracle, SQL Server, IBM DB2, MongoDB, Casandra, MySQL, Amazon Aurora, and other database systems.

MongoDB Links installation in the database

20 September 2020

Preamble

SQLS*Plus - 1649769633712C9CD8DF0 0945 4758 BA58 F2D2BDDB3329 optimize

​​

External keys may be set in relational databases when fields from one table refer to fields in another table. You can also set links in MongoDB.

The manual setting of references comes down to assigning the value of field _id of one document to the field of another document. Let’s say we may have collections representing companies and employees working in these companies. So, let us first add a document representing the company to the collection of companies:

db.companies.insert({"_id" : "microsoft", year: 1974})

Now let’s add a document representing the employee to the collection. In this document, there will be a company field representing the company where the employee works. And it is very important that we set the value of the _id key of the document added above, rather than the company object, as the value for this field:

db.users.insert({name: "Tom", age: 28, company: "microsoft"})

Now we get the document from the user’s collection:

user = db.users.findOne()

In this case, it means that the above-added element will be the only one in the collection.

After that, the console outputs the resulting document. And now we will find a link to his company in the collection of companies:

db.companies.findOne({_id: user.company})

And if a document with such identifier is detected, it is displayed on the console:

document with such identifier is detected

Automatic binding

Using DBRef functionality, we can set automatic linking between documents. Let’s have a look at an example of how this functionality can be applied. First, let’s add a new document to the collection of companies:

apple=({"name" : "apple", "year": 1976})
> db.companies.save(apple)

Note that in this case the saving is done using the same method, not insert. The save method generates _id when adding a new document. And after saving we can display the document in the console: > apple

Now let’s create a new document for the person collection, where the company key will bind to the newly added apple document:

steve = ({"name": "Steve", "age": 25, company: new DBRef('companies', apple._id)})
> db.users.save(steve)

create a new document for the person collection

And we can test it:

db.companies.findOne({_id: steve.company.$id})

the company key will bind to the newly added apple document

Having looked at the example, now we will analyze the organization of links between documents. The following company expression was used to link to an apple document: new DBRef(‘companies’, apple._id)}). The formal DBRef syntax is as follows:

{ "$ref" : name_collection, "$id" : value [, "$db" : name_bd ]}

The first parameter $ref points to the collection where the linked document is stored. The second parameter points to a value that will represent something like an external key. The third optional parameter points to a database.

During testing, the expression _id: steve.company.$id shall be used as a sample request. Since person.company now represents the object new DBRef(‘companies’, apple._id)}), we need to specify the steve.company.$id parameter.

Enteros

About Enteros

Enteros offers a patented database performance management SaaS platform. It proactively identifies root causes of complex business-impacting database scalability and performance issues across a growing number of RDBMS, NoSQL, and machine learning database platforms.

 
Tags: , , ,

MORE NEWS

 

Preamble​​NoSql is not a replacement for SQL databases but is a valid alternative for many situations where standard SQL is not the best approach for...

Preamble​​MongoDB Conditional operators specify a condition to which the value of the document field shall correspond.Comparison Query Operators $eq...

5 Database management trends impacting database administrationIn the realm of database management systems, moreover half (52%) of your competitors feel...

The data type is defined as the type of data that any column or variable can store in MS SQL Server. What is the data type? When you create any table or...

Preamble​​MS SQL Server is a client-server architecture. MS SQL Server process starts with the client application sending a query.SQL Server accepts,...

First the basics: what is the master/slave?One database server (“master”) responds and can do anything. A lot of other database servers store copies of all...

Preamble​​Atom Hopper (based on Apache Abdera) for those who may not know is an open-source project sponsored by Rackspace. Today we will figure out how to...

Preamble​​MongoDB recently introduced its new aggregation structure. This structure provides a simpler solution for calculating aggregated values rather...

FlexibilityOne of the most advertised features of MongoDB is its flexibility.  Flexibility, however, is a double-edged sword. More flexibility means more...

Preamble​​SQLShell is a cross-platform command-line tool for SQL, similar to psql for PostgreSQL or MySQL command-line tool for MySQL.Why use it?If you...

Preamble​​Writing an application on top of the framework on top of the driver on top of the database is a bit like a game on the phone: you say “insert...

Preamble​​Oracle Coherence is a distributed cache that is functionally comparable with Memcached. In addition to the basic function of the API cache, it...

Preamble​​IBM pureXML, a proprietary XML database built on a relational mechanism (designed for puns) that offers both relational ( SQL / XML ) and...

  What is PostgreSQL array? In PostgreSQL we can define a column as an array of valid data types. The data type can be built-in, custom or enumerated....

Preamble​​If you are a Linux sysadmin or developer, there comes a time when you need to manage an Oracle database that can work in your environment.In this...

Preamble​​Starting with Microsoft SQL Server 2008, by default, the group of local administrators is no longer added to SQL Server administrators during the...