Articles of mongodb

节点/ postgres – 从STDIN结果复制不完整。 没有例外被抛出

我使用node-pg-copy将数据从mongodb批量导入到postgresql db 。 我使用observables来映射从mongodb进来的数据,然后将其写入到copyFrom正在使用的stream中。 有些东西是: function writeToStream (source, stream) { const trigger = Rx.Observable.fromEvent(stream, 'drain') hotsource = source.publish() const sub = trigger .takeUntil(hotSource.last()) .subscribe( data => stream.write(String(data)) && pauser.next(true), // pauser gets the next row to deal with concurrency. Using debugger, I can see that 'data' is ok every time. err => stream.emit('error', err), () […]

节点的Js – 我需要ref或embedded我的Mongoose架构?

我知道在mongoose schema有很多关于ref和embed模式的讨论。 我有点学习node ,我有一个RDBMs的背景。 我正在和mongoose一起工作。 我有一个非常简单的场景,我已经实现了它。 我卡住的地方是要么使用embed或ref 。 脚本 我的情况是,我有两个模型product和categories 。 它们之间的关系是many to many 。 首先让我告诉你我的模型。 类别架构 const mongoose = require('mongoose'); //function to call monggose schema const CategorySchema = mongoose.Schema({ category_name: { type: String, required: true } }) const Category = module.exports = mongoose.model('Category', CategorySchema); 产品架构 const mongoose = require('mongoose'); const ProductSchema = mongoose.Schema({ product_name: […]

为什么我的jwt令牌在背面而不是在前面返回null

我正在尝试向我的mLab数据库发出GET请求。 我传递一个带有请求的JWT令牌,并将其logging在客户端和服务器上。 它在客户端上正确读取,但在服务器上显示为空。 任何帮助将非常感激。 我正在使用Node.js和Angular。 我对此很新,所以如果错误是显而易见的,我就提前道歉。 这里是服务器的GET路由: router.get('/', (req, res, next) => { var decoded = jwt.decode(req.query.token); console.log(decoded); console.log('employees'); if(decoded) { return Company.find({_id: decoded._id}) .populate('user', 'firstName') .exec(function(err, company) { if (err) { return res.status(500).json({ title: 'An error occurred', error: err }); } res.status(200).json({ message: 'Success', obj: company }); }); } else { return res.status(401).json({ title: […]

从今天的date获取mongodb的项目列表

我想从我的MongoDB中获取今天的date列表。 我只是得到了我想要的结果,当我在下面的pushups.js文件中硬编码date: "date":"2017-10-26T07:09:36.417Z 。 这是我的代码。 在我的MongoDB文件 { "_id": { "$oid": "59f18ac290531423ecb3cb51" }, "date": "2017-10-26T07:09:36.417Z", "count": "25" } pushups.js : router.get("/pushupsToday", function (req, res) { var dateObj = new Date(); console.log(dateObj); db.pushups.find({"date": dateObj}, function (err, pushups) { if (err) { res.send(err); } res.status(200).send({"success": true, "result": pushups}); }); pushups.service.ts : @Injectable() export class PushupService { apiUrl = […]

mongoose部署问题

我试图通过Expressjs连接到Mongolab。 但是当我运行时,我无法连接到服务器 错误信息 : MongoError: failed to connect to server [ds033066.mlab.com:33066] on first con nect [MongoError: connect ETIMEDOUT 54.80.215.206:33066] at Pool.<anonymous> (C:\Users\rkishore\Documents\node\node_modules\mongoose\ node_modules\mongodb-core\lib\topologies\server.js:328:35) at emitOne (events.js:96:13) at Pool.emit (events.js:188:7) at Connection.<anonymous> (C:\Users\rkishore\Documents\node\node_modules\mon goose\node_modules\mongodb-core\lib\connection\pool.js:280:12) at Connection.g (events.js:292:16) at emitTwo (events.js:106:13) at Connection.emit (events.js:191:7) at Socket.<anonymous> (C:\Users\rkishore\Documents\node\node_modules\mongoos e\node_modules\mongodb-core\lib\connection\connection.js:177:49) at Socket.g (events.js:292:16) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) […]

parsing/ MongoDB使用ISO格式的date作为字典中的键

我有一个时间戳字典,我希望date in ISO Format的date in ISO Format是key和一个string of what occured on the date的value 。 恩。 timestamps[date.toISOString()] = "SignedUp" ISOstring默认是yyyy-MM-ddTHH:mm:ss.AZ ,所以我得到这个问题: [Error]: Nested keys should not contain the '$' or '.' characters 有没有办法,我可以使用ISOdatestring没有得到这个问题? 我们的后端存储date使用这种格式的一切,所以我宁愿如果它可以保持这种方式。 提前致谢!

CastError:投射到ObjectId失败的值“types:”缓冲区“”

试图创build一个新的用户在我的Web应用程序没有意识到已经有一个用户在我的数据库用户名相同。 出于某种原因,这个边界案例打破了我的应用程序,现在每次我尝试去主页,我得到: (节点:14649)UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝ID:1):CastError:强制转换为ObjectId失败的值为“{type:'Buffer',data:[89,243,30,231,66,69,45, (节点:14649)[DEP0018]弃用警告:不处理的承诺拒绝已被弃用。 将来,未处理的承诺拒绝将使用非零退出代码来终止Node.js进程。 是什么使这个问题独特的从这里的其他问题在stackoverflow是事实,types是'缓冲区'。 没有其他问题有这个具体问题。 我不知道如何创build一个缓冲区,当我没有在我的数据库或节点服务器中使用它们。 这是在缓冲区错误之前发生的重复错误消息: {MongoError:E11000重复键错误集合:crud2.users索引:username_1 dup键:{:“lightbeam”}在Function.MongoError.create(/ Users / * /桌面/编码/应用程序/ thequoteapp / node_modules / mongodb核心/在/ Users / * / Desktop / coding / lib目录下的toError(/Users/*/Desktop/coding/apps/thequoteapp/node_modules/mongodb/lib/utils.js:139:22)中的lib / error.js:31:11) apps / thequoteapp / node_modules / mongodb / lib / collection.js:668:23 at handleCallback(/Users/*/Desktop/coding/apps/thequoteapp/node_modules/mongodb/lib/utils.js:120:56)at / Users /*/Desktop/coding/apps/thequoteapp/node_modules/mongodb/lib/bulk/unordered.js:465:9 at handleCallback(/ Users / * / Desktop / […]

使用Docker在Synology NAS中设置MongoDB

我对Synology NAS和Docker非常陌生。 我试图在我的Synology上的docker中设置一个mongoDB,但不知道该怎么做。 有我find的图像,但不知道要select哪个。 另外一旦我得到了这个设置,我想运行一个节点服务器。 如何让数据库与节点服务器通话? 我假设节点服务器在另一个容器中,你如何允许这种通信?

保存方法不工作在mongoose

我在node.js中使用下面的代码: async function create(data) { utils.removeIdFields(data); const user = new User(data); console.log("user will be printed here", user); await user.save(); console.log("code not reaching here"); return user; } 在上面的代码中,User是一个mongoose模型,在user.save()之上的行一直工作正常。 但是,它从不打印下一个日志。 我正在使用mongoose版本4.11.0。

mongoosefindOne不工作如何我想要它

我正在制作一个应用程序,用户logging他们睡觉的小时数,他们的饮食习惯等,这些信息被存储在一个名为Journal的集合中。 当用户点击“统计信息”时,它会触发一个名为find()的函数,它查找用户提交的所有日志条目,并进行控制台日志logging。 这是我迄今为止: exports.stats = function(req, res) { function find() { Journal.findOne({'user': req.params.id}, 'sleep', function(err, journal){ if(err) throw err; console.log(journal.sleep); }); } find(); } 在这个例子中,我正在试图控制一个特定用户的睡眠小时数,但是它只显示该会话的睡眠小时数,而不是所有睡眠小时数