Articles of mongodb

在MongoDB中获取更新的文档

我需要获取更新文档的_id (Mongo ObjectID)。 为此,我想获得更新的文件。 我怎么才能得到它? 我试过这个: … collection.update(oldData, newData, function(err, doc) { console.log(docs); // This prints "1" in console. So, it's not a document. if (err) { return callback(err); } callback(null, doc); }); … 我可以得到它没有通过newData / oldDatafind一个文件?

问题在与npm安装mongodb模块

PS:我是一个初学者,有nodejs和mongodb。 事实上,这是我的第一天与nodejs和mongodb,我正在从tutsplus的基本video系列 (Mac OX Lion,最新安装的Xcode,MongoDB shell版本:2.4.3(通过自制软件安装),npm -v1.2.15,node -v0.10.2) kerberos@0.0.2 install / Users / mohit / projects / nodejs / mongo / node_modules / mongodb / node_modules / kerberos(node-gyp rebuild 2> builderror.log) (出口0) bson@0.1.8 install / Users / mohit / projects / nodejs / mongo / node_modules / mongodb / node_modules / bson(node-gyp rebuild 2> builderror.log) […]

mongoose在数据库中find最后十个条目

我正在做一个简单的小社交networking。 我有所有的inputpost,用户等,完成。 现在唯一错误的是它几乎只是一个聊天室。 每当你在某人的网页上发布信息时,唯一可以查看的人就是当时网页上的人。 当你刷新,所有的post都没有了。 这是我发送post时的技术部分,以及我想要做的事情。 每当你发布一篇文章,它会做一些不重要的事情,我不会列出它们。 但是有一个重要的部分,把它发送给NodeJS服务器。 这是它使用的代码: function sendPost(cont) { socket.emit("newPost", username, uid, cont, page); model.posts.unshift(new Post(username, uid, cont, page)); // You don't need to worry about this } 正如你所看到的,它使用用户名,uid,内容和页面发出一个“newPost”。 在服务器上,它接收这个post,然后插入到数据库中。 socket.on("newPost", function (name, id, cont, page) { var thePost = new Post({name: name, cont: cont, id: id, page: page}); console.log("Received a new […]

MongoDB批量插入许多文件已经存在的地方

我有一个较小的文档(大约100个),可以插入到MongoDB中。 但是他们中的许多人(可能全部,但通常是80%左右)将已经存在于DB中。 这些文档代表未来几个月即将发生的事件,而且我每两天更新一次数据库。 所以大部分事件已经在那里了。 任何人都知道(或者想猜)是否会更有效率地: 做批量更新,但与continueOnError = true,例如 db.collection.insert(myArray, {continueOnError: true}, callback) 做单独的插入,首先检查_ID是否存在? 首先做一个大的删除(像db.collection.delete({_id: $in : [array of all the IDs in my new documents] }) ,然后批量插入? 我可能会做#1,因为这是最简单的,我不认为100个文件都很大,所以它可能没关系,但如果有10,000个文件? 如果有问题,我使用node.js驱动程序在JavaScript中执行此操作。 我的背景是在Java中,exception很耗时,这就是我所要求的主要原因 – “continueOnError”选项会耗时吗? 补充:我不认为“upsert”是有道理的。 这是为了更新单个文件。 就我而言,代表即将到来的事件的单个文件没有改变。 (好吧,也许是这是另一个问题) 发生了什么是一些新的文件将被添加。

Connect-mongo替代Express 4

我正在寻找在我的快速应用程序中实现cookiestore,我跟着这个问题 适用于Express + MongoDB的最佳会话存储中间件 和 https://github.com/kcbanner/connect-mongo 对于我的Express 3.x项目,但对于Express 4,不build议使用connect中间件。 connect-mongo是什么合适的select?

AngularJS – 与mongodb的交互

我是新的MEAN堆栈,我正在尝试创build一个基本的一页应用程序。 我试图连接到MongoDB,然后列出控制器中的某个集合中的值。 但是,当我find答案时,我遇到了这个答案使用AngularJs和MongoDB / Mongoose 然后,如果你不能在angular和mongo之间使用它,那么下面的代码有什么意义? 还是有其他临时步骤使用它? var mongoose = require('mongoose'); var db = mongoose.createConnection('mongodb://localhost:3000/database'); var orderSchema = new mongoose.Schema({ routeFrom : String, routeTo : String, leaving: String }); var Order = db.model('Order', orderSchema); module.exports = Order; 编辑:我试图使用它的情况是这样的: Geek.html <div class="jumbotron text-center"> <h1>Geek City</h1> <p>{{tagline}}</p> <ul> <li ng-repeat="value in dataValues"> {{value.name}} </li> </ul> </div> GeekController […]

Mongoose toObject:{virtuals:true}

我试图学习MongoDB / Node,我注意到在一个模式中,我经常看到这样的事情: toObject: { virtuals: true } toJSON: { virtuals: true } 这两行意味着什么?

mongoose只读没有模式

我在我的node.js应用程序中使用Mongoose来模拟数据库中的两个集合,它将读取和写入。 还有两个集合只能从我的应用程序中读取(这些集合的模型正在另一个应用程序中进行维护,将写入这些集合)。 如果我需要使用mongoose访问这两个只读集合,那么我将不得不在这个应用程序中维护一个模式。 我宁愿不这样做,因为模式将被维护两次,并可能导致以后不一致。 Mongoose中的默认连接可以通过创build Mongoose.connect(dbPath) 给定一个dbPath(例如, mongodb://localhost/dbname ),我怎样才能使用Mongoose默认连接从集合的模式/模型不被我的应用程序维护读取? 或者我将不得不使用相同的本地MongoDB驱动程序?

Passport serializeUser()不会使用此authenticate()callback进行调用

使用passport.js,我这样写路由,所以我有权访问MongoDb文档userDoc 。 但是,这样做的时候… passport.serializeUser()永远不会被调用, req对象将会丢失user 。 auth.route('/auth/facebook/callback') .get(function(req, res, next) { passport.authenticate('facebook', function(err, userDoc, info) { if (err) { return next(err); } // I don't think !userDoc will ever happen because of mongo upsert if (!userDoc) { return res.redirect('/login'); } res.cookie('facebookPicUrl', userDoc.value.facebook.picture, {maxAge : 9999999, httpOnly: false, secure: false, signed: false }); res.redirect('http://localhost:9000/users') })(req, res, […]

用Mongoose自定义错误信息

所以根据mongoose文档 ,你应该能够在模式中设置一个自定义错误消息,如下所示: var breakfastSchema = new Schema({ eggs: { type: Number, min: [6, 'Too few eggs'], max: 12 }, bacon: { type: Number, required: [true, 'Why no bacon?'] } }); 所以我想做类似的事情: var emailVerificationTokenSchema = mongoose.Schema({ email: {type: String, required: true, unique: [true, "email must be unique"]}, token: {type: String, required: true}, createdAt: {type: Date, required: […]