Tag: mongodb

创build方法来更新和保存与mongoose的文件?

查看官方文档后 ,我仍然不确定如何创buildmongoose内部使用的方法来创build和更新文档。 那我该怎么做呢? 我有这样的想法: mySchema.statics.insertSomething = function insertSomething () { return this.insert(() ? }

如何将一个string转换为nodejs mongodb本地驱动程序中的ObjectId?

我在一个nodejs环境中使用mongodb本地驱动程序 ,我需要将一个idstring转换为ObjectId使用它在我的更新查询中,我该怎么做?

在MongoDB和Mongoose中执行全文search的最佳方法

我在Google上search了很多天,我尝试了很多东西,但仍然无法在用户集合上进行全面的全文search。 我试过ElasticSearch,但是很难查询和分页… 我尝试了很多像ElMongo,mongoose全文,Mongoosastic等Mongoose插件…每个人都真的不好logging,我不知道如何执行一个很好的全文search。 所以,我的collections是一个正常的集合: user = { name: String, email: String, profile: { something: String, somethingElse: String } } 我有一个简单的POST页面中的searchinput,如果我inputhello world ,我需要的是在整个收集字段上search我的search查询的匹配单词,并获得结果。 这将是非常好的也有处理一个分页,如每页10项或东西的选项… 什么是实现这个最好的解决scheme? 我在Mongoose,NodeJS和ExpressJS上使用MongoDB 2.6。*。 谢谢。

CouchDB,MongoDB和Redis中的哪个数据库适合从Node.js开始?

我得到更多的Node.js,并享受它。 我正在更多地进入Web应用程序开发。 我已经把自己的头围绕着Node.js,并且目前使用Backbone作为前端。 我正在做一些使用Backbone的应用程序来使用RESTful API与服务器进行通信。 在Node.js中,我将使用Express框架。 我到了一个地方,我需要一个简单的数据库在服务器上。 我习惯于Django的 PostgreSQL和MySQL ,但我需要的是一些简单的数据存储等。我知道关于CouchDB , MongoDB和Redis ,但我只是不确定要使用哪一个? 其中的任何一个更适合Node.js? 对于初学者来说,从关系型数据库转向其中的哪一个更好? 我只需要一些指导就可以select,我已经走到了这一步,但是当它来到这些types的数据库,我只是不知道…

通过mongoose将物品推入蒙戈列

我已经search了很好的一点寻找答案,但我相信我迷失了正确的话来描述我后。 基本上我有一个名为“人”的mongodb集合该集合的架构如下: people: { name: String, friends: [{firstName: String, lastName: String}] } 现在,我有一个非常基本的快速应用程序连接到数据库,并成功地创build一个空的朋友数组的“人”。 在申请的次要位置,有一个表格可以添加朋友。 表单接受firstName和lastName,然后POST名称字段也用于引用正确的人员对象。 我很难做的是创build一个新的朋友对象,然后“推”到朋友arrays。 我知道,当我通过mongo控制台执行此操作时,我使用$ push的更新函数作为查找条件后的第二个参数,但似乎无法find合适的方法让mongoose执行此操作。 db.people.update({name: "John"}, {$push: {friends: {firstName: "Harry", lastName: "Potter"}}}); 更新:所以,阿德里安的答案是非常有帮助的。 以下是我为了实现我的目标所做的。 在我的app.js文件中,我使用了一个临时路由 app.get('/addfriend', users.addFriend); 在我的users.js文件中,我有 exports.addFriend = function (req, res, next) { var friend = {"firstName": req.body.fName, "lastName": req.body.lName}; Users.findOneAndUpdate({name: req.user.name}, {$push: {friends: friend}}); };

Node.js和Mongoose正则expression式查询多个字段

我想用两个相同的正则expression式来查询多个字段。 在这个查询中,我想接受单个文本input,并检查firstName和lastName字段的结果。 我可以使用mongoose文档中的正则expression式来查询单个字段,但“或”子句的语法给我带来麻烦。 var re = new RegExp(req.params.search, 'i'); app.User.find().or([{ 'firstName': { $regex: re }}, { 'lastName': { $regex: re }}]).sort('title', 1).exec(function(err, users) { res.json(JSON.stringify(users)); }); (我在node.js 0.6.12上运行mongoose 2.7.1)

用Mongoose和Node.js和Underscore生成代码的直接方法是什么?

我想生成这样的东西: http://www.ivarvong.com/2010/08/node-js-connect-mongoose-and-underscore/ 但是我想要生成html模板和其他客户端代码,并且要么为Node.js代码和客户端(jQuery或其他)提供通用的/整体的save / query / reads或生成个性化的代码,所有这些在模型上。 所以就像使用Underscore来填充一些基于Monogoose(MongoDB)模型的模板。 基于这个模型,你可以得到一个可以填写的HTML表单,一些客户端和服务器端的代码将数据保存到MongoDB中,还有一些代码在列表或表格中显示该模型的数据。

Node.js上的MongoDB连接的最佳做法是什么?

这对我来说有点不清楚(我刚刚开始使用Node和Mongo),而且由于服务器的性能和紧张(我猜这是另一个问题,但是我会在post的结尾)。 所以,假设我正在用Node.js和Restify编写一个API,其中每个API端点都对应一个函数,我应该: a)打开数据库连接并将其存储在全局variables中,然后在每个函数中使用它? 例: // requires and so on leave me with a db var, assume {auto_reconnect: true} function openDB() { db.open(function(err, db) { // skip err handling and so on return db; } } var myOpenDB = openDB(); // use myOpenDB in every other function I have b)打开数据库连接,然后把所有东西放在一个巨大的closures? 例: // same as above db.open(function(err, […]

想要了解NodeJS应用程序结构(Full JavaScript Stack)

我想知道一个典型的NodeJS应用程序的结构,因为我阅读和看到的项目越多,我就越困惑,特别是针对这样的问题:(甚至当我更新这个问题时)。 以MEAN堆栈为例,据我所知,NodeJS和Express负责服务器 部分,提供服务器接口等。MongoDB和Angular相当简单。 但是业务逻辑应该去哪里? 说如果我有一个controller.js包含一个函数, 和route.js文件绑定请求与这个控制器function。 我的问题是在哪个模块下这些文件属于/运行(Express或NodeJS?) NodeJS应用的起点在哪里? 说index.php是一个PHP应用程序的起点,但它在哪里NodeJS应用程序? 我可以看到所有nodejs项目都有一个名为server.js或app.js等的文件(包含诸如module.exports = app;类的东西)但是module.exports = app;如何知道要find并执行它的文件呢? 我是NodeJS上的一个新鲜的noob,express,sequelize.js / mongoose,jade / ejs,但是想要开始一个nodejs项目。 请大家详细说明每个模块提供的实际function,以及一个完整的js堆叠nodejs应用程序的典型结构的一般介绍? 提前致谢!

整个网站与node.js和mongodb?

我已经build立了几个使用PHP和MySQL作为后端的网站,并且相信我对这两者都相当熟悉。 然而,在我的新网站的研究中,我遇到了node.js和mongodb(和socket.io,因为该网站将包含聊天)。 我决定使用node.js和mongodb来运行聊天 – 但是不知道是否应该用这两个东西来做整个站点? 既然我要运行一个节点服务器,无论如何我应该运行另一个(单独)托pipe网站? 或者这是一个坏主意? – 它是稳定的吗? 我可以在PHP中编程,仍然使用mongodb – 但不会节点更快? 还有一个问题:我已经计划使用Ajax来处理页面的所有post – 但是因为我已经在使用socket.io进行聊天了 – 我是否应该使用它来完成所有的发布请求? 对于我计划使用jQuery(也适用于所有前端效果)的ajax。