Невозможно удалить элемент в MongoDb с помощью NodeJs - PullRequest
0 голосов
/ 11 июля 2020

Я использую NodeJs и MongoDb в качестве серверной службы в приложении android. Я использую Retroft2 в качестве сетевой библиотеки в своем приложении. Я отправляю почтовый запрос на сервер для удаления элемента из базы данных. Я получаю успех сообщение с сервера, но элемент не удаляется из базы данных, но когда я отправляю запрос от почтальона, он удаляет элемент правильно.

Ниже мой код:

ApiService. java

public interface ApiService {

@POST("removeBookmark")
@FormUrlEncoded
Observable<String> removeBookmark(@Field("uid") String uid,
                                  @Field("title")  String title);
}

MainActivity. java

private void removeBookmark(String title,String uid){

    Retrofit retrofit = RetrofitClient.getInstance();
    ApiService apiService = retrofit.create(ApiService.class);

    apiService.removeBookmark(title,uid).subscribeOn(Schedulers.io())
                                      .observeOn(AndroidSchedulers.mainThread())
                                      .subscribe(new Observer<String>() {
                                          @Override
                                          public void onSubscribe(Disposable d) {

                                          }

                                          @Override
                                          public void onNext(String s) {

                                              Toast.makeText(getActivity(),s,Toast.LENGTH_SHORT).show();
                                             
                                          }

                                          @Override
                                          public void onError(Throwable e) {

                                          }

                                          @Override
                                          public void onComplete() {

                                          }
                                      });
}

Ниже мой код на стороне сервера:

removeBookmark. js

const express = require('express');
const router = express.Router();
const bodyParser = require('body-parser');
const MongoClient = require('mongodb').MongoClient;
const dotEnv = require('dotenv').config();

const dburl = process.env.URL;

router.use(bodyParser.json());
router.use(bodyParser.urlencoded({extended:true}));

router.post('/removeBookmark',(req,res) => {

const uId = req.body.uid;
const title =  req.body.title;
 
MongoClient.connect(dburl,{useNewUrlParser:true,useUnifiedTopology:true},(err,client) => {

              if(err){
                  console.log("Error",err);
              }
              else{

                const coll = client.db("MyDb").collection("MyCollection");

                coll.deleteOne({$and:[{userid:uId},{title:title}]},(err,obj) => {

                         if(err){
                             console.log("Error",err);
                         }
                         else{

                            res.send("removed");
                            client.close();
                         }
                          
                });
         }
     });

});

module.exports = router;

Кто-нибудь, пожалуйста, дайте мне знать, что я делаю неправильно, любая помощь будет оценена.

СПАСИБО

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...