Tag: mongodb

Mongoose报告成功写作,数据库中没有任何东西

mongoose成功callback正在运行,但没有出现在我的数据库,当我通过控制台与Mongo交互。 任何人都可以帮助为什么什么都没有出现在数据库? app.js var express = require('express') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path') , mongoose = require('mongoose'); var app = express(); var TimesheetsController = require(__dirname + '/controllers/timesheets'); var UsersController = require(__dirname + '/controllers/users'); app.configure(function(){ app.set('port', process.env.PORT || 3000); app.set('views', __dirname + '/views'); app.set('view engine', 'jade'); […]

结构推荐

我尝试为我的nodejs / express / mongoDB应用程序find一个好的目录结构。 目前,我使用本机mongodb驱动程序,它感觉不错,但速度很快,但是在定义适当的结构时受到限制…当MVC是快速/节点定义合适的db模型的方法并不那么容易。 尽pipemongoose及其图案的概念会使模型的实际devise变得容易,但我并不是那种在我的堆栈之上的另一层的粉丝……它感觉有点臃肿。 我寻找一个替代scheme,发现在本地驱动程序顶部是一个薄包装的mongoskin,但增加了一些function,以支持MVC-ish模式。 总的来说,我发现这对其他人来说也是一个普遍的问题。 我欣赏链接中提出的想法: https : //stackoverflow.com/a/8428281/1055685 不过,模型目录里面的查询并不是真正的MVC(就像评论中提到的那样) – 我不喜欢它… 明确的MVC演示不是那么有用…你在那里find了一些启发吗? 你推荐遵循哪种模式(如果MVC是推荐模型是真正的问题)? 你一般推荐蒙古人吗?

Moongose:按mathsorting,在string数组中search多个值

你好同胞SO用户, 我遇到了一些先进的mongoose查询,我根本无法从文档中找出答案。 首先,我想按一些math来sorting。 基本上我想能够通过两个对象的价格差异进行sorting。 我有“价格”和“旧价格”,其中包含基本的数字值。 然后,我想减去他们,并以最高的折扣sorting。 所以在SQL中,我会是这样的 ORDER BY (oldprice – price) 我遇到的另一个问题是通过string数组筛选string数组。 所以基本上我有一个“裤子”模型,与一个[大小]对象(string数组),其中包含多个尺寸。 现在我想能够search多个用户select的大小的分贝,并find所有的裤子,其中包含一个选定的大小。 我试过了: Pants.find({ name: new RegExp(search, 'ig'), sizes: { $in: [selectedSizes] } }).skip(skip).limit(limit).sort(sort).execFind(function(err, pants) { return res.send(pants); }); 如果一个值位于“selectedSizes”中,哪个工作正常,但失败并具有多个值。 希望有人有一些想法;-) 裤子型号: var PantsSchema; PantsSchema = new mongoose.Schema({ supplier: { type: String }, manufacturer: { type: String }, web: { type: String […]

除了在MongoDB中为Blog-Tag系统嵌套标签数组之外,还有什么其他方法吗?

我正在尝试为node.js / express / mongodb编写一个自己的博客引擎(也是开始学习node.js)。 为了进一步比在互联网上的教程,我想添加标签的支持博客引擎。 我想用标签做以下事情: 观众可以将所有的标签看作“标签云页面”上的标签云, 观众可以在文章列表页面和单个文章页面上看到文章所具有的标签 观众可以点击一个标签来显示文章列表 更重要的是,观众能够以SO方式search具有特定标签的文章:[tag1] [tag2] – > / tags / tag1 + tag2 – >具有tag1和tag2的文章列表 在关系数据库中,post_tag表将用于此。 但是如何在MongoDB中devise这个呢? 我检查了MongoDBdevise – 标签 但正如efdee的评论,devise db.movies.insert({ name: "The Godfather", director: "Francis Ford Coppola", tags: [ "mafia", "wedding", "violence" ] }) 有一个问题: 这似乎并没有真正回答他的问题。 你将如何获得在整个电影集合中使用的不同的标签清单? 这也是我的担心:在我的devise中,我需要显示所有标签的列表; 我也需要知道每个标签有多less文章。 那么是否有比上面所示的devise更好的方法? 我对上述devise的关注是:如果我想显示标签列表,查询将遍历数据库中的所有项目。 有没有更有效的方法?

Mongodb – 使用Node js驱动程序检查数据是否存在于集合中

我如何检查集合中的数据是否存在。 我需要确保用户名是unqiue。 有任何想法吗?

在MongoDB中按date分组

我正在AppFog上运行一个博客式的Web应用程序(前Nodester)。 它是用NodeJS + Express编写的,使用Mongoose框架保存到MongoDB。 MongoDB是1.8版本,我不知道AppFog是否会升级到2.2。 为什么介绍这个? 那么,现在我的“post”显示在一个基本的“分页”的可视化,我的意思是他们只是从mongo拿起,按date降序sorting,一页一页。 这是一个片段: Post .find({pubblicato:true}) .populate("commenti") .sort("-dataInserimento") .skip(offset) .limit(archivePageSize) .exec(function(err,docs) { var result = {}; result.postsArray = (!err) ? docs : []; result.currentPage = currentPage; result.pages = howManyPages; cb(null, result); }); 现在,我的目标是GROUP BY'dataInserimento'和显示post就像一个“日记”,我的意思是: 第一页=> 2012/10/08:我显示3post 第二页=> 2012/10/10:我显示2post(2012/10/09没有post,所以我不允许一个白页) 第3页=> 2012/10/11:35post等等… 我的想法是首先获得所有date列表(也许每天计算post),然后build立页面链接,并且当页面(date)被访问时,像上面那样查询,添加date作为参数。 解决scheme : 汇总框架将是完美的,但我现在无法得到这个版本的Mongo 以某种方式使用.group(),但它在分片环境中不起作用的想法不会激起我的兴趣! 🙁 写MAP-REDUCE! 我认为这是正确的路要走,但我无法想象如何写map()和reduce()。 你能帮我一个小例子吗? 谢谢 编辑 […]

express:保持所有DRY创build一个mongoose连接模块(使用新的createConnection方法)

这是我的实际数据库连接模块: var mongoose = require('mongoose'), conn = mongoose.createConnection('localhost', 'doto'); conn.on('error', function (err) { console.log('Error! DB Connection failed.'); }); conn.once('open', function () { console.log('DB Connection open!'); }); module.exports = conn; 有一个地方我用它 exports.list = function (req, res) { var conn = require('../lib/db_connection'); conn.once('open', function () { // if i dont wrap with this, the page will not […]

如何填充映射减less的结果

TestSessionSchema.statics.getTopTesters = function(callback){ var o = {}; o.map = function(){ emit(this._customer, this.points); }; o.reduce = function(_customer, values){ var result = {_customer: _customer, sum_points: 0, }; values.forEach(function(point){ result.sum_points += point; }); return result; }; o.out = { replace: 'createdCollectionNameForResults' }; o.verbose = true; this.mapReduce(o,function(err, model, stats){ model.find().sort({'value.sum_points': "desc"}).limit(5).populate("_customer").exec(function(error, results){ log(results); }) }); } 在map-reduce部分,我正在创build_customers点。 model.find().sort({'value.sum_points': "desc"}).limit(5).populate("_customer")不起作用 […]

node.js require(“mongodb”)抛出一个exception

我是node.js的新手(但有10年的C#经验)我有以下代码 var http = require("http"); var url = require("url"); var path = require('path'); var fs = require("fs"); var express = require("express"); var mongo = require("./node_modules/mongo"); var Server = mongo.Server; var Db = mongo.Db; var server = new Server('localhost', 27017, {auto_reconnect: true}); var db = new Db('mydb', server); 我得到这个例外: 错误:找不到模块'./node_modules/mongo' at Function.Module._resolveFilename (module.js:338:15) 我也试过: var mongo […]

在m sort中按datesorting超过9个logging抛出错误

我正进入(状态 错误:sort()没有索引的数据太多 同时按升序sorting。 如果logging数不超过9,我只会得到这个exception。有人能告诉我我做错了什么吗? 或任何工作? 我的sorting语法是: image.find({reviewed:true},null,{sort:{“submittedDate”: – 1}},function(err,images){});