Tag: mongodb

mongoose连接问题

无法使用mongoose获取错误来连接Mongodb /Users/kunal/Documents/Node/Project/taskAccomplisher/node_modules/mongodb/lib/server.js:242 process.nextTick(function() { throw err; }) ^ MongoError: server 127.0.0.1:27017 received an error {"name":"MongoError","message":"write EPIPE"} at null.<anonymous> (/Users/kunal/Documents/Node/Project/taskAccomplisher/node_modules/mongodb-core/lib/topologies/server.js:213:40) at g (events.js:260:16) at emitTwo (events.js:87:13) at emit (events.js:172:7) at null.<anonymous> (/Users/kunal/Documents/Node/Project/taskAccomplisher/node_modules/mongodb-core/lib/connection/pool.js:119:12) at g (events.js:260:16) at emitTwo (events.js:87:13) at emit (events.js:172:7) at Socket.<anonymous> (/Users/kunal/Documents/Node/Project/taskAccomplisher/node_modules/mongodb-core/lib/connection/connection.js:151:49) at Socket.g (events.js:260:16) at emitOne (events.js:77:13) at Socket.emit (events.js:169:7) at onwriteError (_stream_writable.js:304:10) […]

Nodejs:多个MongoDB中的一对多

我正在Mongo开发我的第一个数据库。 我使用Mongoose来创build模型。 我想实现一对多的多重关系。 有三种模式:用户,组和angular色模型。 用户可以属于多个组,并且可以在同一组中具有多个angular色。 例如,John属于组1和2.组1中的Juan是pipe理员,组2是pipe理员和超级用户。 下面我显示关系模式: 模式关系 我创build了以下模型: 的usermodel const userSchema = new Schema({ username: {type: String, unique: true}, first_name: String, middle_name: String, first_surname: String, second_surname: String, email: String, password: String }, { timestamps: {createdAt: 'created_at', updatedAt: 'updated_at', deleteAt: 'delete_at'} }); const UserModel = mongoose.model('user', userSchema); 好榜样 const roleSchema = new Schema({ name: {type: […]

交易mongodb

我需要使用“全部或全部”过程写入两个不同的mongodb集合。 Fyi我在后端使用NodeJs。 据我所知,MongoDb在提供单个集合时提供了primefaces性,但是当我们需要写入多个集合时,MongoDb不提供primefaces性。 所以我想知道一种在nodejs / mongodb中模拟这个事务的方法,以避免在另一个集合失败的情况下写入一个集合,并且如果第二个进程失败,也有可能进行“回滚”。 感谢你们!

NodeJS – 服务不能使用mongo –

在解释我的问题之前,这是我的架构: 1 – server is running, getting request and storing data 2 – a service – called process_runner.js – is running on a 2nd terminal 该服务的重点是从我的数据库获取数据执行一些function。 这是服务: process_runner.js // all needed requires /// … // mongoose.connect(config.database); var db = mongoose.connection; db.on('error', console.error.bind(console, 'Error connecting to MongoDB:')); db.once('open', function() { console.log("Connected to MongoDB"); try { run(); […]

像过滤mongoosepaginate

我试图对Node.js进行分页,但mongoose与分页的mongoose不适用于类似的expression式。 我find了Mongoose.js:通过用户名LIKE值查找用户 ,但结果总是空的。 我的实体包含“目标”字段。 在Entity.target中有“test”的实体。 我的代码是: var filter = {}; if (req.param('filter')) { filter = { target: new RegExp('^'+'test'+'$', "i") } } var params = { page: getPage(req), limit: getCount(req) }; Entity.paginate(filter, params, function (err, result) { res.json(result); }); 如果我在mongo控制台中运行查询,我会得到正确的结果: {"target":{"$regex":"te","$options":"gi"}} 你有什么想法吗?

node.js教程由于缺lessbson模块而失败

背景信息 我试图按照这个教程: http : //cwbuecheler.com/web/tutorials/2014/restful-web-app-node-express-mongodb/ 我有一个mongo数据库在另一个Linux机器上运行… fwiw,我知道这是工作,因为我有一个PHP应用程序,可以连接和查询。 我不使用mongoose,而是和尚,因为这是教程所要求的。 以下是我的package.json文件的样子: { "name": "testapp", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "body-parser": "~1.13.2", "cookie-parser": "~1.3.5", "debug": "~2.2.0", "express": "~4.13.1", "mongodb": "^1.4.4", "monk": "^1.0.1", "morgan": "~1.6.1", "pug": "^2.0.0-beta4", "serve-favicon": "~2.3.0" } } 〜 问题 当我尝试运行testing节点应用程序时,出现以下错误消息: me@mydevbox:/var/www/html/node/testapp$ node app.js { Error: Cannot find module […]

mongoose保存错误

下面是我从一个网站复制的示例代码。 我试图将信息保存到mongodb。 我曾尝试类似的堆栈溢出,但仍然无法解决它。 当我运行它,并写入ID,名称和年龄保存方法失败,但不给出错误消息。 原因是什么? 在此先感谢您的帮助。 var express = require('express'); var http = require('http'); var path = require('path'); var mongoose = require('mongoose'); var bodyparser = require('body-parser'); var methodOverride = require('method-override'); var app = express(); // all environments app.set('port', process.env.PORT || 4000); app.set('views', __dirname + '/views'); app.set("view engine", 'jade'); app.use(bodyparser.json()); app.use(methodOverride()); //app.use(app.router); app.use(express.static(__dirname + '../public')); //app.use(express.static(path.join(__dirname, […]

显示类别与快速蒙戈

我有一个像mongo一样的数据 {'id':id,'name':'root','child'=['id1','id2','id3']} 为CH1: {'id':id1,'name':'chi1','child'=['id11','id12','id13']} 卡方 {'id':id1,'name':'chi2','child'=['id21','id22','id23']} chi11 {'id':id1,'name':'chi11','child'=['id111','id112','id113']} 现在我想显示类似的模板: root.name->chi1.name->chi11.name ->chi2.name 如果我们可以查询孩子的父母。

如何转换mongo ObjectId .toString不包括'ObjectId()'包装 – 只是值?

我想要解决的是:使用这个build议的方法(mapReduce)保存我的ID数组$ in的顺序: 是否MongoDB的$ in子句保证顺序 我做了功课,看到了将它们转换为string的理想select: 比较mongoose_id和string 。 码: var dataIds = [ '57a1152a4d124a4d1ad12d80', '57a115304d124a4d1ad12d81', '5795316dabfaa62383341a79', '5795315aabfaa62383341a76', '57a114d64d124a4d1ad12d7f', '57953165abfaa62383341a78' ]; CollectionSchema.statics.all = function() { var obj = {}; //adds dataIds to obj.scope as inputs , to be accessed in obj.map obj.scope = {'inputs': dataIds}; obj.map = function() { //used toString method as suggested in other SO […]

试图找出用于REST API的mongoose关系编码

这是一个愚蠢的问题,但我试图通过谷歌,代码snippits,教程包围我的头,所有这些都导致我的例子,模型太浅,我想要做的代码。 我有一个应用程序,我想开发数据是父母和孩子的forms: – – 组织 – 属于这些组织的项目 – 属于这些项目的发布 等等,但是我并不完全理解如何在后面的expression式中编写路由,我来自SQL关系背景。 我使用cookies,还是部分路线? 我知道如何build立模型,从我的理解,使用: var organisationSchema = ({ name: String, email: String, description: String, users: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }] }); 为组织和 var projectSchema = ({ name: String, description: String, users: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }] } 为项目,但如何设置我的邮政路线将项目添加到正确的组织 router.route('/api/project') .post(function(req, res){ project = new Project(); […]