Tag: mongodb

Express js Mongoose替代MySQL%通配符

我一直在阅读,并尝试了其他人已经成功的几个不同的代码片段,但我似乎无法得到它的工作。 我想要的是用户只能使用部分术语进行search,即pe为'peter'。 我想在search字词上使用通配符。 我的代码到目前为止,这是行不通的: router.get('/:callsign', function(req,res){ var search = req.params.callsign; var term = escape(search); term = term.toUpperCase(); if(search=="*" || search==""){ res.redirect("/"); } User.find({'callsign' : new RegExp('^'+term+'$', "i") }, function(err, callsign){ if(err) { console.log('No user found'+err); req.flash('message','Sorry, something went wrong. Try again.'); res.render('callSearchResults'),{ message: req.flash('message'), title: 'Sorry, no results' } } if(callsign){ console.log('Callsign:'+callsign+term); res.render('callSearchResults',{ call: callsign, […]

无法通过js连接到mongo db

我写了一个代码,用于集成所有types的社交networkinglogin和nodejs。 这是我的server.js // get all the tools we need var express = require('express'); var app = express(); var port = process.env.PORT || 8080; var mongoose = require('mongoose'); var passport = require('passport'); var flash = require('connect-flash'); var morgan = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var session = require('express-session'); var configDB = require('./config/database.js'); […]

在Mongoose更新查询期间,JavaScript对象元素缺失

我试图更新一个新的数据字段到一个现有的文件,但一些数据不更新。 在我的AngularJS控制器中: $scope.tellUsMore = function(){ var data = { businessPhone:$scope.usersData.phone, businessEmail:$scope.usersData.email, businessFb:$scope.usersData.fb, businessTwitter:$scope.usersData.twitter, businessInstagram:$scope.usersData.instagram, businessAboutUs:$scope.usersData.aboutUs, businessTags:$scope.tags, businessFeatures:$scope.features, businessLocation:$scope.usersData.location, businessPriceRange:$scope.usersData.priceRange, businessPreparationTimeRange:$scope.usersData.preparationTimeRange } console.log(data); //result below Account.updateProfile(data) .success(function() { alert("DONE") }) .error(function(error) { console.log(error) }); } 在Chrome控制台选项卡上的console.log(数据)结果 Object businessAboutUs: "LOL" businessEmail: "example@gmail.com" businessFb: undefined businessFeatures: Array[5] businessInstagram: undefined businessLocation: Object businessPhone: "0123456789" businessPreparationTimeRange: 2 businessPriceRange: 2 businessTags: […]

如何查询mongoose嵌套数组

我有这样的架构 'use strict'; var mongoose = require('mongoose'); var Schema = mongoose.Schema; var TeacherSchema = new Schema({ education: [{degree: String, instituteName: String}], dob: Date, photoUrl: String, phoneNumber: String, institutes: [{type: mongoose.Schema.ObjectId, ref: 'Institute'}], subjects: [{ name: String, topics: [{ name: String, modules: [{ name: String, classes: [{ name: String, startTime: Date, endTime: Date, fee: Number }] […]

MongoDB与MySQL相比要慢得多 – 基本的find()方法

这是我的第一个Stackoverflow的问题,但我很长时间的读者。 我正在做一些家庭项目,我试图比较MongoDB和MySQL的速度。 令人惊讶的是,即使使用非常基本的表,MongoDB几乎慢了5倍。 我读到他们几乎是一样的速度,但它让我思考。 有人可以向我解释为什么会发生这种情况? MongoDB代码: app.get('/mongodb', function(req, res, next) { var time = process.hrtime(); User.find(function(err, users) { if (err) return next(err); var diff = process.hrtime(time); if(diff[0] == 0) { res.send(diff[1].toString()); } else { res.send(diff[0]+"."+diff[1]); } }); }); MySQL代码: app.get('/mysql', function(req, res, next) { var time = process.hrtime(); mysql.query("SELECT * FROM users", function(err, results) { […]

mongoDB聚合返回空

扩展这个下面的问题: MongoDB筛选多个子文档 ,我想过滤一个文档,只显示活动的子文档:活动汽车和活动水果。 在以下文档中使用由chridam构build的聚合pipe道,其中所有fruits都被禁用 { "name":"Andre", "fruits":[ { "active":false, "fruitname":"apple" },{ "active":false, "fruitname":"banana" } ], "cars":[ { "active":false, "carname":"ford" },{ "active":true, "carname":"GM" }, ] } 使用的聚合pipe道: var pipeline = [ { "$match": { "name": "Andre", "fruits.active": true, "cars.active": true } }, { "$unwind": "$fruits" }, { "$unwind": "$cars" }, { "$match": { "fruits.active": true, "cars.active": […]

我如何开始使用MEAN.IO?

有没有什么好的资源可以开始使用MEAN.IO? 任何教程,待办事项应用程序或书籍? 等等。, 当然,我已经访问了包括mean.io , mean.js和一些平均堆栈教程的网站。 但事情有点混乱让我开始。 任何人都可以build议我,为了一个良好的起点mean.io. 提前致谢。,

mongoose填充对子文档的引用

我找不到任何回应我的问题。 可能也是一个search问题,但会感谢一些帮助。 我有以下模型: var ChildSchema = new Schema ({ 'name': string }); var ClassSchema = new Schema ({ 'name': string, 'children': [ChildSchema] }); 我只是宣布了一个class的模型。 mongoose.model ('Class', ClassSchema); 然后我有另一个模型: var TeacherSchema = new Schema ({ 'name': string, 'favorite': {type: ObjectId, ref: 'Class.children'} // a child from class children 'least': {type: ObjectId, ref: 'Class.children'} // same as […]

如何将引用导出到数据库连接?

我使用以下代码连接到我的main.js中的数据库: var MongoClient = require('mongodb').MongoClient; var db; MongoClient.connect(process.env.PROD_MONGODB, function(err, database) { if(err) { return console.dir(err); } db = database; }); 后来在文件中,我可以这样做: db.collection('players').update({id: player.id}, {$set: {x: player.x, y: player.y}}, function(err, result) { console.log(err, result); }); 现在我想在另一个文件中进行类似的数据库更新,但不知道如何导出连接。 我已经试过exports.db = db,并要求与var db = require('./main').db,但它结束了在其他文件中未定义。 我该怎么做?

如何在数据库中存储mongoose模式

我正在开发一个特殊的应用程序与明确和mongoose需要build立一个mongoose模式,然后将其存储在数据库中。 我想创build一个项目,人们可以在运行时dynamic创build集合,然后要求其他人通过特殊的forms来填充这些集合 例如,我想存储一个模式,如下面的一个到我的数据库。 我怎样才能做到这一点? var entitySchema = { name : String, num : [Number], time : [Date] } ; 是否有任何特殊的function,将mongoose模式转换为JSON或string? 在架构json上调用toString()函数不起作用,因为它不能解释String或Numbertypes