title: How to pass a string parameter from angular UI to node.js backend?
body: <p>I am trying to pass a string value from angular UI to node.js backend api which then searches in mongodb using the passed string value as below.</p>
  
  <p>I try to take the input in <code>enteredValue</code> and pass it on to <code>http.get</code> call as <code>params:this.enteredValue</code> and to node.js as <code>req.params</code>,as you can see below if I hardcode the string value for "orgChange",it works fine but somehow passing params is not working and throwing errors?any guidance on how to fix this?</p>
  
  <p>html:</p>
  
  <pre><code>&lt;textarea rows="6" [(ngModel)]="enteredValue"&gt;&lt;/textarea&gt;
  &lt;hr&gt;
  &lt;button (click)="get_change_lifecycle_data()"&gt;Search&lt;/button&gt;
  
  &lt;p&gt;{{newPost | json }}&lt;/p&gt;
  </code></pre>
  
  <p>component</p>
  
  <pre><code>import { Component, OnInit, Injectable } from '@angular/core';
  import { HttpClient } from "@angular/common/http";
  import { Subject } from "rxjs";
  import { map } from 'rxjs/operators';
  
  @Component({
    selector: 'app-change-input',
    templateUrl: './change-input.component.html',
    styleUrls: ['./change-input.component.css']
  })
  
  
  export class ChangeInputComponent  {
  
  constructor(private http: HttpClient) {}
  
  enteredValue : any;
  newPost : any;
  get_change_lifecycle_data(){
       this.http.get('http://localhost:3000/api/change_life_cycle2',{params:this.enteredValue}).subscribe(response =&gt; {
       console.log(response);
        this.newPost = response
        });
  }
  
  }
  </code></pre>
  
  <p>node.js</p>
  
  <p>hardcode the string value for "orgChange",it works fine</p>
  
  <pre><code>app.get("/api/change_life_cycle", (req, res, next) =&gt; {
   Change_life_cycle.find({ orgChange: "51918661" }).then(documents =&gt; {
      res.status(200).json({
        message: "Posts fetched successfully!",
        posts: documents
      });
    });
  });
  </code></pre>
  
  <p>API with req.params</p>
  
  <pre><code>   app.get("/api/change_life_cycle2", (req, res, next) =&gt; {
      console.log(req.body)
       Change_life_cycle.find({ orgChange: req.params }).then(documents =&gt; {
          res.status(200).json({
            message: "Posts fetched successfully!",
            posts: documents
          });
        });
      });
  </code></pre>
  
  <p>Error:--</p>
  
  <pre><code>(node:75156) UnhandledPromiseRejectionWarning: CastError: Cast to string failed for value "{}" at path "orgChange" for model "change_life_cycle"
      at new CastError (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/error/cast.js:29:11)
      at SchemaString.cast (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/schema/string.js:553:11)
      at SchemaString.SchemaType.applySetters (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/schematype.js:948:12)
      at SchemaString.SchemaType._castForQuery (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/schematype.js:1362:15)
      at SchemaString.castForQuery (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/schema/string.js:609:15)
      at SchemaString.SchemaType.castForQueryWrapper (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/schematype.js:1331:15)
      at cast (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/cast.js:252:34)
      at model.Query.Query.cast (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/query.js:4576:12)
      at model.Query.Query._castConditions (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/query.js:1783:10)
      at model.Query.&lt;anonymous&gt; (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/query.js:1810:8)
      at model.Query._wrappedThunk [as _find] (/Users/username/Downloads/mongodb-03-finished/node_modules/mongoose/lib/helpers/query/wrapThunk.js:16:8)
      at process.nextTick (/Users/username/Downloads/mongodb-03-finished/node_modules/kareem/index.js:369:33)
      at process._tickCallback (internal/process/next_tick.js:61:11)
  (node:75156) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
  (node:75156) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
  </code></pre>