Views In Mongo

22:35
we combine the result of more than one collections by using following concepts in mongo
  • aggregation
  • lookup
  • pipeline
so when we want to display these results by using VIEWS instead of using direct find methodology because views performance is fast.

View Definition:

Views act as read-only collections, and are computed on demand during read operations. MongoDB executes read operations on views as part of the underlying aggregation pipeline.

db.createView(<view>, <source>, <pipeline>, <options>)

view - The name of the view to create.

source - The name of the source collection or view from which to create the view. The name is not the full namespace of the collection or view; i.e. does not include the database name and implies the same database as the view to create.

pipeline - An array that consists of the aggregation pipeline stage. db.createView creates the view by applying the specified pipeline to the source collection or view.

Create View:

Collection 1: Users

Collection 2: transactions

user_id is a foreign key
db.createView(
 'userTransactions',
 'users',
 [
  {
   $lookup:
    { 
                                        from:"transactions",
     localField:"user_id",
     foreignField:"user_id",
     as:"Transactions"
    }
  }
 ]
);

Display View:

<?php 
include("config.php");

$my_collection = $db->users;

$users = $my_collection->find(array('age'=>'25'));

echo 'Search Documents Based on Age';

echo '<pre>';

foreach($users as $user)
{
 print_r($user);
}
echo '</pre>';
     

No comments:

Powered by Blogger.