如何在strongloop的远程方法中执行MongoDB语句
how to execute MongoDB statements in strongloop's remote method
嗨 我的任务是使用strongloop创建一个远程方法,并为其余API执行mongoDB函数。
"db.users.count({user_email_id :"bhargavb@ideaentity.com",user_password:"5f4dcc3b5aa765d61d8327deb882cf99",isdelete:1,user_status:1});如果(计数=1)则"
要在强循环中执行此操作,我正在尝试类似的东西
module.exports = function(GetUserFind) {
var server = require('../../server/server');
var db = server.dataSources.MongoTours;
db.connect(function(err, db) {
if (err) return console.log('error opening db, err = ', err);
console.log("db opened!");
GetUserFind.login = function(par,par2,par3,par4,cb){
console.log(par,par2,par3,par4);
db.collection('users', function(err, collection) {
console.log("the collection is"+ collection);
if (err) return console.log('error opening users collection, err = ', err);
collection.count ({user_email:par}, function(err, result) {
if(err) {
console.error(err);
return;
}
cb(null,result);
});
cb(null,par,par2,par3,par4);
});
}
});
GetUserFind.remoteMethod(
'login',
{
accepts: [{arg: 'user_email_id', type: 'string'},
{arg: 'user_password', type: 'string'},
{arg: 'isdeleted', type: 'number'},
{arg: 'user_status', type: 'number'}],
returns: {arg: 'result', type: 'object'},
http: {path:'/Loogin', verb: 'get'}
}
);
// db.close();
}
但我不能做同样的事情,谁能告诉我如何在强循环远程方法中执行mongoDB语句
提前致谢
我按以下方式尝试了它,
module.exports = function(GetUserFind) {
var response = 'User does not exists';
var server = require('../../server/server');
var sha256 = require('js-sha256');
// getUser function login declaration
GetUserFind.login = function(par, par2, cb) {
console.log(par, par2);
// calling users collection method
var MongoClient = require('mongodb').MongoClient;
var self = this;
this.callback = cb;
// to connect to mongoDB datasource
MongoClient.connect('mongodb://192.168.0.78:27017/tours', function(err,
db) {
console.log(sha256(par2));
if (err) {
// try{
console.log(err);
}
db.collection('users').find({
user_email_id : par,
user_password : sha256(par2)
},{user_password:0}).toArray(function(err, result) {
//https://docs.mongodb.org/manual/tutorial/project-fields-from-query-results/
if (err) {
throw err;
}
if (result.length > 0) {
self.callback(null, result);
// db.disconnect();
} else {
self.callback(null, response);
// db.disconnect();
}
});
});
}
GetUserFind.remoteMethod('login', {
// passing input parameters
accepts : [ {
arg : 'user_email_id',
type : 'string'
}, {
arg : 'user_password',
type : 'string'
} ],
// getting output parameters
// returns: {arg: 'user_email_id', type: 'string'},
returns : [ {
arg : 'result',
type : 'object'
} ],
http : {
path : '/Loogin',
verb : 'get'
}
});
// db.close();
};
这可能会对其他人有所帮助。
如果有人知道更好和简单的方法,请发布或更新答案
相关文章:
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- 通过ajax从客户端调用C#方法来执行C#方法
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 有没有一种方法可以通过只引用JavaScript来执行代码
- 如何使用get或post方法连接和执行ajax
- 从 ajax .post 方法执行 PHP 页面后显示它
- Javascript 方法执行顺序
- 同步 jquery 调用 - 如何等到 jquery 方法执行竞争
- 在javascript中,循环是在get方法执行之前执行的
- 当用户试图删除indexedDB数据库时,是否有方法执行函数
- 如何停止for循环执行,直到for循环内部的DWR方法执行完成
- setTimeout方法执行一次
- 在方法执行之间等待一段时间
- 当按ok在对话框服务器方法执行,如果按取消留在我的页面上.如何去做
- 如何停止setTimeout中定义的方法执行
- 是否有可能使用任何方法执行javascript代码
- 在jQuery中添加属性时,使用attr()方法,将属性作为键值对象传递,还是直接传递,哪种方法执行速度最快?
- Javascript方法执行和触发事件