Tag: nosql

我怎样才能将mongoose子文档分成单独的文件?

在region.server.model.js我想有 var RegionSchema = new Schema({ name: {type: String}, user: {type: Schema.ObjectId, ref: 'User'}, bases: [BaseSchema] }); mongoose.model('Region', RegionSchema); 而在另一个名为base.server.model.js文件我想要 var BaseSchema = new Schema({ name: {type: String}, region: {type: Schema.ObjectId, ref: 'Region'} }); mongoose.model('Base', BaseSchema); 它正在崩溃 bases: [BaseSchema] ^ ReferenceError: BaseSchema is not defined 我无法弄清楚如何在mean.js关联或链接这两个文件。 谢谢!

如何使用Google数据存储创build模式(在JavaScript中)?

我正在编写使用Google数据存储的Nodejs应用程序。 我只是想知道如何设置架构与谷歌数据存储authentication过程。 基本上,我怎样才能做下面的代码与Google数据存储: var mongoose = require('mongoose'); var bcrypt = require('bcrypt-nodejs'); var userSchema = mongoose.Schema({ local : { email : String, password : String, } }); // generating a hash userSchema.methods.generateHash = function(password) { return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null); }; // checking if password is valid userSchema.methods.validPassword = function(password) { return bcrypt.compareSync(password, this.local.password); }; // create […]

什么是我需要的Web服务器开发的NodeJS工具(框架,IDE等)? 为什么?

我一直在梦想开发一个非常快速和大规模的Web服务器/应用程序 。 因此,我的意思是说,它是为RESTful和“实时”的应用程序 ,它可以扩大到以更多的并发方式处理数百万用户和字节,并且可以有效地处理复杂和巨大的数据库查询。 我相信nodeJS非常适合我上面的需求。 但是我不知道从哪里开始,有太多的东西要学习和学习,阅读一切都是痛苦的,那需要几十年的时间。 有什么好的和详细的build议,先生? 简单地说: 1.)什么是nodeJS框架? 为什么? 似乎有太多的build议,expression,sails.js等,或者我真的需要尝试每一个? 只有找出哪个框架适合最好/足够的一个宁静和实时的应用程序? 2.)什么nosql数据库? 为什么? 如果我想要最好的阅读呢? 哦,我的,我想我会再需要另一个最好的写作? 等等 3.)其他有用的工具和build议? PS:我对于noSQL和NodeJS知之甚less,但是我相信它可以满足我的需求,特别是在实时性和并发性等方面。我也select它作为我的偏好,因为我喜欢javascript(计划做与AngularJS的前端),只是一种语言,应该更容易。 然后我会试着考虑各种各样的工具和偏好,因为我相信很难find最合适的(考虑最多的nodeJS框架和nosql DB,我猜?),但谁不想完美?精英中的精英? 无论如何,这是一个启动 我希望nodeJS已经够老了,所以我可以从经验丰富的工程师那里收集更可靠的build议…干杯,梦想BIG =)

我应该如何做一个后续系统的SQL或NOSQL?

我想编程一个系统,用户可以跟随另一个用户,但我不知道是否应该用像mongodb或任何其他的nosql数据库,还是用sql(postgres)更好? 我知道用postgres我需要一个数据透视表,因为它是一个多对多的关系。 我以为我可以把用户collecion像{追随者:[user_id1,user_id2,user_id3]},我可以让他们更快一点。 在这种情况下,我可以通过他们的ID获得其他用户。 我可以得到这个用户的追随者和下面的人这样的。 是更快还是我错了? 我计划每个用户都可以有很多追随者。 此外,我需要这个应用程序可以收到许多要求,因此,性能是重要的。 我应该在这种情况下使用什么? 带有postgres或mongo的数据透视表? 顺便说一下,我正在使用Nodejs。 提前致谢!

使用种子string在mongoose中创buildObjectId

我想用一根种子在mongoose身上创造一个目标, Id = new ObjectId("alex"); 类似的东西。 但是无论我看到什么样的生成objectid的例子都要求你以objectid的散列格式传递string。 有没有办法做我想要的?

MongoDB中的复杂查询filter通过Node.js

有没有一种方法来查询多个字段,并从NodeJS在MongoDB中的每个应用filter? 例: 设想一下用户档案(名字,姓氏,昵称,年龄等)的集合。 我可以,不知何故,这样的查询: db.collection("users").find({}).filter([ {field: 'name', operator: 'startswith', value: 'Ji'}, {field: 'surname', operator: 'contains', value: 'om'}, {field: 'nick', operator: 'endswith', value: 'mmy'} ]); //Searching for Jimmy Thomson (alias jimmy) 编辑: 我忘了提到,我不是在寻找正则expression式。

用于时间跟踪的MongoDB架构devise

我创build了一个简单的时间跟踪应用程序,在这个应用程序中,人们可以使用TimeIn, 此跟踪的中心对象是用户生成的事件 。 这与UserStatus结合确保了状态pipe理是正确的。 这里是schemas减去updatedAt createdAt字段: { userId: { type : mongoose.Schema.Types.ObjectId, required: true }, localTime: {type: Date}, userEmail: { type: String, required: true }, type: { type : String, required: true }, ip: { type : String, required: false } } 现在我正在尝试创build一个天事件的聚合。 在我脑海中的领域是totalWorkTime,totalBreakTime(以秒为单位),noOfBreaks,但我想解决的情况是当用户忘记超时。 请考虑: 用户远在美国和马尼拉。 用户没有任何时间段分配给他们。 所以也许他们可以在当地时间从晚上11点到凌晨3点工作。 如何区分上述情况从缺失超时,并适合当地的时区。 存储本地时间是否聪明? 反对存储UTC。 主要想法是在第二天下午11:59和中午12:00超时。 但它适合很好。 Schema或者build议模式的任何帮助都是有帮助的。 谢谢!

非规范化,ACL和filter在LoopBack中查找全部

我是LoopBack的新手,但我很喜欢它。 我需要根据用户的dynamicangular色来筛选所有的查找。 例如,我有一个具有状态属性的Project集合。 如果某个特定项目处于draft状态,则只有创build者可以对其进行CRUD,并且由dynamicangular色进行pipe理。 其他用户甚至不能查看它们。 例如:实例操作( findOne , findById ,我有ctx.req.params.id )我使用app.models.ACL.checkAccessForToken和ACL,它工作的很好。 但是..如何做静态操作,我没有ID? 我不能使用checkAccessForToken .. 我是非关系型数据库的新手,在这篇不错的文章中,我读到了关于非规范化的内容,但是老实说,我不喜欢它,我确信像LoopBack这样的完整框架能够以更结构化的方式处理这个问题认为filter查找所有授权操作是这么多项目中的一个共同特征)。 所以..在LoopBack中有没有其他的select/标准的方法? 谢谢!

MongoDB:如何使用Mongoose添加或更新SubDocument?

我试图添加一个新的或基于它的存在更新现有的SubDocument。 鉴于以下架构: var providerSchema = new Schema({ provider: String, id: String, accessToken: Object }) var userSchema = new Schema({ email: { type: String }, provider: [providerSchema], created_at: Date, updated_at: Date }); 以下文档被存储: { "_id": { "$oid": "5629f57b13bc066c17b88a0d" }, "created_at": { "$date": "2015-10-23T08:53:15.684Z" }, "updated_at": { "$date": "2015-10-23T08:53:15.684Z" }, "email": "123123123@gmail.com", "provider": [ { "provider": "facebook", […]

问题:更新子文档的子文档中的值

我有一些麻烦,试图更新MongoDB中的一个子文档中的子文档的一些领域。 首先,让我们find我需要更新的文档,看看文档结构如何: // query: db.getCollection('collection').find({ application: ObjectId("568b3a2feaa4171d03734776"), _id: ObjectId("568b3a2feaa4171d03734779"), status: 'sent', 'mailingList.recipients.email': 'example@example.com' // an index }, { 'mailingList.$.recipients': true }); // query result: { "_id" : ObjectId("568b3a2feaa4171d03734779"), "mailingList" : [ { "id" : 55, "recipients" : [ { "metadata" : { "name" : "Example", "surname" : "Example" }, "email" : "example@example.com", "message" : { […]