Tag: mongodb

根据MongoDB检查login凭据不起作用

router.post('/checkuser', function(req, res) { var db = req.db; var userEmail = req.body.useremail; var password = req.body.password; var collection = db.get('usercollection'); collection.find( { "email": userEmail }, function (err, doc) { if (err || !doc) { res.redirect("login"); } else { res.redirect("userlist"); } }); }); 这段代码应该检查MongoDB中的login凭据,如果值不匹配,则返回false 。 但是它总是redirect到userlist.jade文件。 有人可以解释为什么吗?

mongodb:自动删除arrays的前n个元素

我想自动删除数组字段的前n个元素。 现在,我使用model.find() ,然后doc.arrayField.slice(n) ,然后doc.save() 。 但是,这会将整个文档加载到内存中(如果文档非常大,则不好),并且会消除primefaces性。 有没有办法在MongoDB / Mongoose中以primefaces方式实现? 谢谢!

从AWS显示用户的个人资料图片

我完全不熟悉AWS,我想了解一些关键概念在开始构build之前是如何工作的。 我发现本教程直接将图像上传到节点JS中的AWS: https://devcenter.heroku.com/articles/s3-upload-node#uploading-directly-to-s3 在我的webapp中,我使用的是MongoDB,每个用户(用户模式)都能够更改他们的个人资料图片。 在高层次上,我一直在想用户select一个新的图片并点击保存,我会按照上面的步骤直接上传新的图像到AWS的“桶”。 那么我将如何将其呈现在用户的个人资料页面上? 我是否需要在AWS端使用数据库(并跳过我的应用程序的mongodb部分),将每个用户与个人资料图片相关联? 我理解“保存到AWS”部分,但是不清楚如何以与用户关联的方式来检索/呈现映像(保存到AWS后)。 这是我的mongoose用户架构: 'use strict'; var crypto = require('crypto'); var bcrypt = require('bcryptjs'); var mongoose = require('mongoose'); var recipeSchema = require('./recipe.js').schema; //need the objectID, see: https://gist.github.com/fwielstra/1025038 var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId; var userSchema = new Schema({ email: { type: String }, password: String, resetPasswordToken: String, resetPasswordExpires: […]

数据没有从node.js保存在MongoDB中

我想使用node.js和mongodb创build其余的api我input所有的细节,并试图将其存储在mongodb数据库中。 // call the packages we need var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var morgan = require('morgan'); // configure app app.use(morgan('dev')); // log requests to the console // configure body parser app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); var port = process.env.PORT || 8080; // set our port var mongoose = […]

节点js把架构放在其他文件夹中

我已经创build了基本的节点项目,我在模型文件夹内创build模型文件夹,我有模式文件夹和index.js 在架构文件夹中有我的项目的所有架构和在index.js我写这样的事情 var s1 = require('./schema/schema1'); var s2 = require('./schema/schema2'); module.export = function(app) { schema1= s1 ; schema2= s2 ; } 并在控制器文件即时访问模型像这样 var model = require('./models/'); model.schema1.find(function(err, data) { }) 但上面的代码不工作,它给我的错误TypeError: Cannot read property 'find' of undefined但是当我在控制器中尝试这样的事情 var schema1= require('../models/schema/schema1'); schema1.find(function(err,data){}); 其工作正常,但我想在我的项目中使用mongoose,快车,节点,mongodb第一个结构。 请帮助我不知道我做错了什么

带有byId()的NodeJS额外字段;

目前我正在研究一个nodeJS API,我有一个模型,而且这个模型可以包含媒体项目,就像你在我的代码中看到的那样: router.get('/:id', function(req, res, next) { qbuilder.byId(Model,req) .exec( function(err,model){ Media.count({'model.entity': model._id}, function(err, media){ if(media){ console.log(media); } }); model.total_media = 15; responders.sendJsonOrError(err, res, model, next); }); }); 问题是,该代码: model.total_media = 15; 没有出现在响应者中,这很奇怪,因为如果我用下面的方法清理对象:model = []; 它返回空。 一旦我添加lean()到我的查询,它会返回total_media响应者,但是当我这样做时,我得到的问题是: router.get('/:id', function(req, res, next) { qbuilder.byId(Model,req) .exec( function(err,model){ Media.count({'model.entity': model._id}, function(err, media){ if(media){ model.total_media = media; } }); responders.sendJsonOrError(err, […]

在NodeJS中的需求sorting似乎会产生错误

我有一个订单的问题,我需要在我的主要server.js文件在NodeJS中的各种模型。 这是我的product.js产品型号文件: var mongoose = require("mongoose"); var Dealer = require("./dealer.js") var productSchema = new mongoose.Schema({ title: String, price: String, dealers: [ { type: mongoose.Schema.Types.ObjectId, ref: "Dealer" } ] }); var Product = mongoose.model("Product", productSchema); Dealer.findOne({ name: "Glaze" }, function(err, dealer){ Product.findOne({title: "Awesome Metal Towels"}, function(err, product){ if(err){ console.log(err); } else{ product.dealers.push(dealer); product.save(function(err, data){ if(err){ console.log(err); […]

mapReduce使用node.js和mongoose

我正在设法计算每个地区的学生人数。 我有一个模型 ,看起来像 var mongoose = require('mongoose'); var schema = mongoose.Schema; var studentSchema = new mongoose.Schema( { "name":String, "address" :{ "locality":String } }); module.exports = mongoose.model('Student', studentSchema); 然后我有一些Node.js代码 var Student = require('../../../models/Student'); module.exports.getStudentsBasedOnLocality = function(){ var o = {}; o.map = function () { emit(Student.address.locality, 1) } o.reduce = function (k, vals) { return vals.length […]

如何使用Node JS驱动程序创build新的MongoDb数据库

我想要使​​用Node JS驱动程序在MongoDB中创build一个新的数据库。 我尝试了下面的方法,但他们都没有创build任何数据库(我使用mongo shell和RoboMongo检查),最糟糕的是,它没有显示任何错误,下面的程序成功执行没有任何错误(我的意思是错误是空值) 第一种方法,使用Mongo Server var Db = require('mongodb').Db, Server = require('mongodb').Server; var db = new Db('myNewDatabase', new Server('localhost', 27017)); db.open(function (err, db) { if (err) { console.dir('ERROR we are in the callback of the open '); console.dir(err); throw err; } // Use the admin database for the operation var adminDb = db.admin(); console.dir('we […]

插入多个logging时删除相同的数据

喜ia有像50m +巨大的行,其中一些是重复的值 如果存在完全相同的键和值,我不希望mongo驱动程序添加它们 一个示例数据 [{ num: "+905081472117", name: "sulocan" },{ num: "+905351224578", name: "ahmet" },{ num: "+905251223578", name: "ahmet" },{ num: "+905081472117", name: "differ" },{ num: "+905081472117", name: "sulocan" }] 我不希望它只是检查数量我想它可以添加相同的数字与差异名称,但不添加相同的数字相同的名称 作为示例数据,我给我只希望它不会添加数组的最后一个值 exports.addnumber = function(num, cb) { db.collection('numbers', function(err, collection) { collection.insert(num, {safe:true}, function(err, result) { if (err) { res({'error':'An error has occurred'}); } else […]