Articles of mongodb

使用Node.js通过SSL连接到MongoDB

如何使用Node.js通过SSL连接到MongoDB服务器? 我已经阅读了一些驱动程序( mongojs , mongodb-native )的源代码,我一直在使用googlesearch,但似乎找不到任何适当的教程,指南或文档。

有没有办法查看Hapi服务器中的所有路由

我们正在研究一个node.js Hapi服务器,该服务器从MongoDB数据库中提取路由列表,并设置所需的服务路由。 因此,由于数据库中存在重复的路由条目,服务器可能会失败。 我试过看,但没有find一种方法来检查哈皮重复路线。 是否有可能获得Hapi服务器当前正在服务的路由列表? 在尝试构build来自MongoDB的路由时,是否有错误检查可以比标准的try / catch块更漂亮? 下面是设置路由的代码; 请在代码中查看我的意见,了解我需要处理错误的位置。 MySchema.find({}, function (err, stubs) { if (err) { console.log('error while loading'); return; } for (var i = 0; i < stubs.length; i++) { var bodyMessage = stubs[i].body; // This is where we can fail, if only I could make a // check for the route […]

Mongodb像运算符一样dynamic

在mongodb中,相当于sql“like”运算符 db.users.find({"shows": /m/}) 使用nodejs / javascript我想dynamic更改字母,基于URL参数。 我努力了 letter = req.params.letter; db.users.find({"shows": '/' + letter + '/'}) 这是行不通的,我猜是因为斜线现在是string的解释不同。

Mongoose查询执行后,callback函数永远不会调用

以下是我的代码: mongoose.connect('mongodb://localhost/mydatabase'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function callback () { console.log('DB connection opened'); }); // … var dbCallback = function(err, body) { // … }; // … var StuffModel = mongoose.model('Stuff', StuffSchema); StuffModel.find({}).exec(dbCallback); dbCallback函数永远不会被调用。 任何帮助将不胜感激!

参数必须是nodejs中的string

我有以下代码: var objectid = infos[i].id; var name = infos[i].name; return collection.aggregate([ {$match: {app: new ObjectId(objectid)}}, {$group: {_id: "$uid", amt: {$sum: 1}}} ]) 以前这段代码工作正常,但最近我开始在sails中获得下面的堆栈跟踪: error: TypeError: Argument must be a string at TypeError (native) at Buffer.write (buffer.js:791:21) at serializeObjectId (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:242:10) at serializeInto (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:699:17) at serializeObject (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:280:18) at serializeInto (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:705:17) at serializeObject (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:280:18) at serializeInto (/Users/user/git/pivot/code/node_modules/sails-mongo/node_modules/bson/lib/bson/parser/serializer.js:551:17) at […]

如何在MongoDB中为NodeJS Express应用程序存储站点configuration?

我有一个使用MongoDB和Jade模板语言在NodeJS 0.8.8上运行的Expressjs应用程序,我希望允许用户configuration许多站点范围的显示选项,例如页面标题,徽标图像等。 我如何将这些configuration选项存储在mongoDB数据库中,以便我可以在应用程序启动时读取它们,在应用程序运行时操作它们,并将它们显示在jade模板中? 这是我的一般应用程序设置: var app = module.exports = express(); global.app = app; var DB = require('./accessDB'); var conn = 'mongodb://localhost/dbname'; var db; // App Config app.configure(function(){ … }); db = new DB.startup(conn); //env specific config app.configure('development', function(){ app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); }); // etc // use date manipulation tool moment app.locals.moment = […]

按月份和年份使用mongoose.js

我在MongoDB中的collections如下所示: { "AccountID" : "87f7fd60-d1ad-11e2-98bb-795730bce125", "userId" : ObjectId("51b59fbec46916e60d00000c"), "_id" : ObjectId("51b6e603e3efef161b000003"), "accessDate" : ISODate("2013-06-11T08:55:31.957Z"), "__v" : 0 } { "AccountID" : "47f7fd60-d1ad-11e2-98bb-795730bce125", "userId" : ObjectId("51b59fbec46916e60d00000d"), "_id" : ObjectId("51b6e603e3efef161b000003"), "accessDate" : ISODate("2013-05-1T08:05:31.957Z"), "__v" : 0 } 我该怎么写一个查询结果如下:这是按月份和年份分组的结果,以及每天的计数结果。 { "usage": [ { "year": 2013, "monthlyusage": [ { "month": 1, "dailyusage": [ { "day": 1, "count": 205 }, […]

比较MongoDB中的两个date字段

在我的collections中,每个文档有2个date,修改和同步。 我想find那些修改>同步,或同步不存在。 我试过了 {'modified': { $gt : 'sync' }} 但是没有显示出我的预期 有任何想法吗? 谢谢

用express.js处理mongoose关系的正确方法是什么?

我有一个非常简单的“server.js”设置,我试图运行: var express = require('express'), wines = require('./routes/testscripts'); var app = express(); app.get('/first_test', wines.popSingleData); app.listen(3000); console.log('Listening on port 3000…'); 这被设置为连接到localhost:3000 当我导航到localhost:3000/first_test ,它会在testscript.js中调用“popSingleData”方法: … var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); var db = mongoose.connection; console.log('include called'); exports.popSingleData = function(req, res) { // var mongoose = require('mongoose'); // mongoose.connect('mongodb://localhost/test'); // var db = mongoose.connection; console.log('function called'); db.on('error', console.error.bind(console, […]

处理expressJS中的mongodb连接

即时通讯使用expressJS和mongoDB,我试图坚持我的MongoDB连接在一个地方打开整个应用程序。 我应该怎么做? 我不想每次都在我的每个path/模型文件中打开它,如下所示: moods.js(示例文件,我有很多,每个集合一个) exports.findAll = function(req, res) { db.collection('moods', function(err, collection) { collection.find().toArray(function(err, items) { res.send(items); }); }); }; …. some other methods 和主要的app.js文件: var express = require('express'); var routes = require('./routes'); var mood = require('./routes/moods'); var http = require('http'); var path = require('path'); var app = express(); // all environments app.set('port', process.env.PORT || […]