Articles of mongodb

MongoDB查找返回零结果

我知道这将是我想念的小东西,但将不胜感激的帮助。 这是我的testing脚本(node.js) var MongoClient = require('mongodb').MongoClient; MongoClient.connect('mongodb://localhost:27017/myTestDB', function (err, db) { if (err) debugger; else { db.collection('test', function (err, collection) { collection.save({ name: "danny" }, function () { debugger;}); collection.find(function (err, results) { if(results.items.length == 0){ ///======> always = 0 !!!! WHY?!!!! debugger; } }); }); } db.close(); }); 随时用“呃!”开始你的回答

mongoose:不能更新保存callback

我有这个mongoose模式: var UrlSchema = new mongoose.Schema({ description: String }); 然后,我创build一个模型: var newUrl = new Url({ "description": "test" }); newUrl.save(function (err, doc) { if (err) console.log(err); else{ Url.update({_id: doc._id},{description: "a"}); } }); 但任何更新执行…为什么? 谢谢

尝试覆盖input区域中的预填充数据

我正在试图在Jade文件中显示一个input区域,其中存储在mongodb会话存储中的会话信息从预先填充的数据中收集。 Web应用程序构build在Express for node.js上。 我的Jade文件与input区域(预填入会话数据)类似: input(name='username', value='#{username}') 所以input区域显示存储在会话中的正确的用户名。 然后,我希望用户能够编辑该字段并根据需要提交新的用户名。 我的mongodb更新()如下所示: uname = request.body.username; targetcol.update({username: req.session.username, password: req.session.password}, {username: uname}); 一旦提交,相关configuration文件的mongodb集合中的文档就不会被更新,而是保持与预先填充的值相同的值。 我想知道这是因为我在Jade文件中将它赋值为一个value=吗? 有什么不对的build议,以及如何解决?

meteor mongodb _id在插入(和UUID属性)后更改

我有meteor的方法,做一个插入。 我使用Regulate.js进行表单validation。 我将game_id字段设置为Meteor.uuid()来创build一个唯一值,我也使用铁路由器路由到/ game_show /:game_id。 正如你所看到的,我正在logging游戏的细节,这工作正常。 (图片链接下面logging) 文件:/lib/methods.js Meteor.methods({ create_game_form : function(data){ Regulate.create_game_form.validate(data, function (error, data) { if (error) { console.log('Server side validation failed.'); } else { console.log('Server side validation passed!'); // Save data to database or whatever… //console.log(data[0].value); var new_game = { game_id: Meteor.uuid(), name : data[0].value, game_type: data[1].value, creator_user_id: Meteor.userId(), user_name: Meteor.user().profile.name, created: […]

Mongoose填充返回null或undefined

对不起,如果这是一个问题,我已经search了Google&Stack几个小时,现在我得问了! 我有两个模式,用户和故事,如下所示。 我想引用用户的故事使用Ref选项填充查询 – 我以前使用mySQL,所以想要尝试复制JOIN语句。 每当我尝试使用填充,我只是得到objectID返回,或null(如下所示)。 编辑11月12日修复硬编码的ID和添加控制台数据 故事schema.js var mongoose = require('mongoose'), Schema = mongoose.Schema, User = require('./user-schema'); var StorySchema = new Schema({ title: { type: String, required: true }, author_id: { type: Schema.Types.ObjectId, ref: 'User' }, summary: { type: String, required: true }, rating: { type: String, required: true } }); module.exports = mongoose.model('Story', […]

Node.js,socket.io和mongojs – 使用socket.iologin表单

我目前使用mongojs在node.js上创build一个小型聊天应用程序,我有一个用户username, password and name字段的mongo集合。 应用程序使用socket.io实时发送数据,然后对用户进行身份validation,并在身份validation正确的情况下让他使用该应用程序。 但是,我不想以纯文本发送密码,有什么方法在客户端encryption密码? 或者有更好的方法来做到这一点? 我想在单独的页面上使用它,但我需要在单页上执行此操作。 这是我的客户端代码: function loginUser(){ console.log("Login User"); username = $('#login-username').val(); password = $('#login-password').val(); //VALIDATIONS socket.emit('auth-user', {"username": username, "password": password}); return false; }

Ember,Ember Data,MongoDB _id和名称空间

我是Emberjs的新手,我正在用MongoDB和Ember开发Nodejs / Express / app。 根据这个博客文章,我添加了primaryKey , serializerId到我的扩展适配器。 window.Frontend.Adapter = DS.RESTAdapter.extend({ namespace: 'api', serializer: DS.RESTSerializer.extend({ serializeId: function(id) { return id.toString(); }, primaryKey: function(type) { return "_id"; } }) }); window.Frontend.Store = DS.Store.extend({ adapter: 'window.Frontend.Adapter' }); 一切工作都很完美。 但命名空间不适合我。 请求被发送到http://localhost:3000/pages而不是http://localhost:3000/api/pages 。 我没有任何想法。 其他相关问题的资源: Ember,Ember Data和MongoDB的_id DB提供ID时添加新的Ember.js对象/logging 使用主密钥和Ember数据 我使用Ember 1.1.2和Ember-Data 1.0.0.beta3。 感谢您的任何build议? 如果你需要更多的信息,请告诉我:D 更新如果有类似的问题去这个问题

如何创build一个基于Node JS,MongoDB,Sails JS的dynamic前端

基本上我正在编写一个应用程序,并在后端使用Sails,MongoDB和Node JS。 我将使用Sail的APIfunction,并想知道什么是实时制作应用程序的最佳方式。 例如,我可以使用AJAX来调用API并使用jQuery来操纵DOM,并通过$.post更新数据库,然后让模型更新后端数据库,但是我发现这种方法非常麻烦。 更何况我可以看到一段时间后代码可能变得很难维护。 我一直在做一些研究,如果我的理解正确 – 似乎我可以使用Backbone,Angular或Knockout来处理前端的数据/ DOM,但是我不确定在我的最佳方法是什么也不论这些案例是否确实适合我的需要: 能够dynamic获取数据 当用户与页面交互时,dynamic更新数据和DOM 尽可能dynamic地发布更新后的数据,或在后端尽可能less地进行数据转换 所有上述asynchronous 由于我不希望这个问题成为关于哪个图书馆是最好的激烈辩论,所以我只想知道上述任何一个图书馆是否可以做我所需要的,哪一个最简单/最简单/哪一个学习曲线更轻。

使用Mongoose从节点插入,更新和从MongoDB中的复杂embedded式集合中移除

我在使用MongoDB的NodeJS中开发一个演示程序,目前使用的模块是Express和Mongoose。 主要想法是重build一个PHP + MySQL应用程序,其中MySQL数据库由三个表组成,数据库为1:N关系:Company-> Field-> Item 示例datacollection看起来像: [ {"id": 1,"name": "DemoCompanyOne", "fields":[ {"id": 1, "location": "DemoLocationOne", "items":[ {"_id": 1,"name": "DemoItemOne","price": 1500,"count": 16,"date": "2013-11-02 16:53:19"}, {"_id": 2,"name": "DemoItemTwo","price": 890,"count": 211,"date": "2013-11-02 16:53:19"} ]}, {"id": 2, "location": "DemoLocationTwo", "items":[ {"_id": 3,"name": "DemoItemThree","price": 9990,"count": 10,"date": "2013-11-02 19:12:40"}, {"_id": 4,"name": "DemoItemFour","price": 2500,"count": 20,"date": "2013-11-02 19:12:42"} ]} ]}, {"id": 2,"name": […]

无法散列密码并将其设置为在mongodb模式中的字段

我正在试用一个由madhusudhan srinivasa为node.js,express和mongodb的演示博客平台。 。 我根据他的实施创build了一个博客。 但是,我在哈希密码和创build用户方面遇到了麻烦。 我附加了创build用户的模型和控制器,因为我不知道问题出在哪里。 我的用户创build表单具有用bodyParser传递给控制器​​的用户名和密码字段。 我的问题是,当我提交表单来创build一个用户,我得到一个未定义的错误从哈希validation函数,“无法获得未定义的长度”。 如果我评论这个哈希validation函数,创build一个用户。 但是,当我在mongodb命令行中查看创build的用户时,它根本没有哈希字段,但名称和盐字段设置正确。 但是,当我console.log散列内encryptPassword(),它似乎输出一个正确的哈希密码。 我一直在研究这个问题几个小时,完全不知道问题是什么。 模型: var mongoose = require('mongoose') , Schema = mongoose.Schema , crypto = require('crypto') , _ = require('underscore') // user schema var UserSchema = new Schema ({ name: { type: String, default: '' }, hash: { type: String, default: '' }, salt: { type: […]