Tag: mongodb

从MongoDB获取数据时出错

昨天我遇到了MongoDB的exception行为。 所以..我将国家和语言与他们的代码存储在集合中,当客户端应用程序需要这些数据 – 它发送“获取”请求来获取数据。 它同时发生 function init() { helperService .getCountries() .then(success) .catch(commonService.handleError); function success(res) { self.countries = res.data; } } function init() { helperService .getLanguages() .then(success) .catch(commonService.handleError); function success(res) { self.languages = res.data; } } 在这里我发送请求来获取angular度组件$ onInit中的数据 后端代码看起来很简单: var country = require('countryModel'); var language = require('languageModel'); function getCountries(req, res, next) { return country .find({}) .then(success) […]

从一个模式计算一个值,并将该值放在另一个模式mongodb节点中

var ProductSchema = new Schema({ title: {type: String}, rating : {type: Number}, ingredients : { type: String} }); var IngredientSchema = new Schema({ title: {type: String}, weightage : {type: String} }); 例如:在ProductSchema中,配料字段是:“水,锌,尿素,硅土,钠” 每种成分由IngredientSchema定义 例: title : Water | Zincum | Urea | Silica | Sodium weightage: 5 | 7 | 3 | 2 | 9 […]

如何通过嵌套在多个数组中的_id来访问对象

新的MEAN.js / Mongo开发人员在这里,我真的很感激任何见解我可以在这个问题上得到。 这是我正在使用的数据的相关部分,从文档的顶部。 我试图深入到暂停数组中的对象的_id字段,以便我可以将它匹配到给定的值(以访问特定的实例)并对其他属性执行更新。 { "_id" : ObjectId("575c902078c8db620d50699e"), "username" : "superadmin", "poms" : [ { "_id" : ObjectId("577a6c6c1d4ddcf805e6a4a0"), "pauses" : [ { "_id" : ObjectId("577a6c6e1d4ddcf805e6a4a1"), "momentResumed" : null, "momentPaused" : ISODate("2016-07-04T14:02:22.643Z") }, { "_id" : ObjectId("577a6cae1d4ddcf805e6a4a2"), "momentResumed" : null, "momentPaused" : ISODate("2016-07-04T14:03:26.364Z") } ], "momentCompleted" : null, "momentStarted" : ISODate("2016-07-04T14:02:20.383Z") }, { "_id" : […]

文件创build的周期性事件

现在我已经把这个头转了好几天了。 我需要能够按预定时间从我的Mongo数据库中提取文档以创build文档副本(没有时间表)。 例: 时间表:周一,周三和周六每30周 文件: { _id: 'abcxyz', service: 'HVAC', assignedTo: 'xyzabc', details: 'Check HVAC System for problems' } 我将有大量的文件与所有不同的时间表。 有些东西比如每三个月的第一个星期一(季度)。 我尝试过使用诸如later-js之类的东西,但后来js似乎并不了解30 weeks ,我认为这是因为30 weeks通常不会使用crontab。 为了完成这一点,我假设我会生成nextRunDate并拉动每个具有今天的下一个nextRunDate的文档。 有了这个说法,我就需要计算nextRunDate每次我觉得如果当前运行date是第一个Monday如果你计算下一个运行date为星期三而不是30周现在? 无论如何,我会疯狂感谢有关这个问题的任何援助。 如果我上面说的是混淆,我相信这将是非常类似于谷歌日历调度。

将一个string数组作为node.js和mongodb中的一个参数

一般来说,我对node.js和REST都很陌生。 我的模型有以下模式: "properties": { "name": { "type": "string", "description": "student name" }, "family": { "type": "string", "description": "family name" }, "subjects": { "type": "array", "description": "list of subjects taken", "minItems": 1, "items": { "type": "string" }, "uniqueItems": true } 前两个属性是直接的,因为它们是string。 但是我很困惑如何为subjects发布数组。 我已经编写了这样的模型: var mongoose = require('mongoose'); var Schema = mongoose.Schema; var StudentSchema = new Schema({ […]

用Mongoose将文档移动到另一个集合

我试图将文档移动到MongoDB中的另一个集合基于这种方法将Mongoose对象保存到两个集合 。 在这个例子中,他展示了如何创build两个新的对象。 我的目标是将其从一个集合移到另一个集合。 更具体一点:在文档中,我有一个最终完成的任务列表,然后应该在这个文档内移动到另一个数组。 不过,我需要能够查询所有未完成的,这应该是可能的两个集合。

Socket.io – variables不在socket.on外面更新

我正在使用Socket.io和MongoDB。 当我第一次发送我的socket.emit到服务器,服务器接受参数,并返回我所需的输出。 当我到达client.js上的socket.on时,OrderID显示在控制台上。 然而,当我退出socket.on方法块时, GenOrderIDvariables变得undefined 。 我的问题是:为什么在socket.on之前创build的socket.on ,不能在外部访问。 这里是我正在使用的client.js : // Create order array var Order = []; // Create GeneratedOrderID variable var GenOrderID; // Get School ID from cookie var SchoolID = getCookie("SchID"); // Generate OrderID socket.emit('GenerateOrderID', SchoolID); socket.on('GenerateOrderID', function(GeneratedOrderID) { console.log("OrderID sent from server is: " + GeneratedOrderID); // This returns the desired […]

带有authentication的mongoose造成超时

所以我们有一个有趣的问题。 我们希望在MongoDB层添加authentication,以提高安全性。 但我们没有得到有利的结果。 预安装 以root身份使用mongo shell(针对admin表) 切换到所需的数据库(applicationdb) 执行db.createUser() validation用户已成功创build {“_id”:“applicationdb.appuser”,“user”:“appuser”,“db”:“applicationdb”,“roles”:[{“role”:“readWrite”,“db”:“applicationdb”}] } 情况1: 更改mongodb.conf,auth = true 重新启动Mongod服务 连接mongoose使用: mongoose.connect( '的mongodb:// APPUSER:password@xx.xxx.xxx.xxx:27017 / applicationdb'); 没有收到错误的连接,所以尝试通过Mongoose执行一个GET导致操作超时没有任何错误(至less我可以find) 情景2: 更改mongodb.conf,auth = false 重新启动Mongod服务 连接mongoose使用: mongoose.connect( '的mongodb://xx.xxx.xxx.xxx:27017 / applicationdb'); 没有收到连接错误,所以尝试通过Mongoose执行一个GET,它会成功返回文档 为什么我们在MongoDB中使用身份validation时得到这个超时并且从来没有完成请求? 任何帮助将是伟大的,我们在这一个损失!

下面的mongoose查询中的第三个参数是做什么的?

var Person = mongoose.model('Person', yourSchema); // find each person with a last name matching 'Ghost', selecting the `name` and `occupation` fields Person.findOne({ 'name.last': 'Ghost' }, 'name occupation', function (err, person) { if (err) return handleError(err); console.log('%s %s is a %s.', person.name.first, person.name.last, person.occupation) // Space Ghost is a talk show host. }) 代码直接从他们的网站上获取。 我的问题是Person模式是什么样的? 如何在occupation寻找name.last […]

Node.js Passport Facebook身份validation没有电子邮件返回

我正在尝试使用来自node.js的护照设置Facebook身份validation。 当我运行该应用程序,并去/ auth /脸书,我去脸书页面给予Facebook的许可,以返回我的电子邮件。 但是,当我点击确定后,我得到一个页面(callback),说:“没有电子邮件与此帐户关联! 根据代码,这意味着profile.emails为空。 我错过了什么? 这些是我启动应用程序时显示的警告。 我不知道他们是否是问题。 express-session deprecated undefined resave option; provide resave option auth.js:44:37 express-session deprecated undefined saveUninitialized option; provide saveUninitialized option auth.js:44:37 这是授权码。 我正在阅读edx的介绍MEAN堆栈课程M101X。 function setupAuth(User, app) { var passport = require('passport'); var FacebookStrategy = require('passport-facebook').Strategy; // High level serialize/de-serialize configuration for passport passport.serializeUser(function(user, done) { done(null, user._id); }); passport.deserializeUser(function(id, […]