草庐IT

mongoose-dbref

全部标签

javascript - 关系数据库设计到 mongoDB/mongoose 设计

我最近开始在我的新node.js应用程序中使用mongoDB和mongoose。在我努力适应mongoDB/noSQL思维方式之前只使用过关系数据库,例如非规范化和缺乏外键关系。我有这个关系数据库设计:**UsersTable**user_idusernameemailpassword**GamesTable**game_idgame_name**LobbiesTable**lobby_idgame_idlobby_name**ScoresTable**user_idgame_idscore所以,每个大厅属于一个游戏,多个大厅可以属于同一个游戏。用户对不同的游戏也有不同的分数。到目前为

node.js - Mongoose with Bluebird promisifyAll - 模型对象上的 saveAsync 生成一个数组作为已解决的 promise 值

我将bluebird的promisifyAll与Mongoose一起使用。当我在模型对象上调用saveAsync(save的promise版本)时,已完成promise的解析值是一个包含两个元素的数组。第一个是我保存的模型对象,第二个是整数1。不知道这里发生了什么。下面是重现该问题的示例代码。varmongoose=require("mongoose");varPromise=require("bluebird");Promise.promisifyAll(mongoose);varPersonSchema=mongoose.Schema({'name':String});varPer

node.js - Mongoose 中的 Date.now() 和 Date.now 有什么区别?

我在Mongoose模型中使用Date.now()和Date.now。我对它们之间的区别有点困惑。你能帮帮我吗? 最佳答案 我知道这是一个老问题,但接受的答案并没有正确解释差异。它解释了行为上的差异,但没有解释它实际上是如何工作的。在您的mongoose架构,您的default可以是指定类型的值,也可以是返回指定类型值的函数。Date.now是一个内置的Javascript函数,它以数字形式返回当前的unix时间戳。如果您通过Date.now作为default在您的mongoose架构,您正在传递函数和mongoose每次文档需要该

node.js - Mongoose 中的 Date.now() 和 Date.now 有什么区别?

我在Mongoose模型中使用Date.now()和Date.now。我对它们之间的区别有点困惑。你能帮帮我吗? 最佳答案 我知道这是一个老问题,但接受的答案并没有正确解释差异。它解释了行为上的差异,但没有解释它实际上是如何工作的。在您的mongoose架构,您的default可以是指定类型的值,也可以是返回指定类型值的函数。Date.now是一个内置的Javascript函数,它以数字形式返回当前的unix时间戳。如果您通过Date.now作为default在您的mongoose架构,您正在传递函数和mongoose每次文档需要该

node.js - 如何在 Mongoose 中间件中发出事件?

我想在保存新博客时发出事件blog.post('save',function(blog){this.emit('newBlog',blog)})在我项目的其他地方说app.js可以监听这个事件EventEmitter=require('events').EventEmitter;emitter=newEventEmitter();emitter.on('newBlog',function(blog){console.log(blog);})如何做到这一点? 最佳答案 事件发射器的工作方式是您必须使用same事件发射器对象来监听您曾经

javascript - 为什么我的架构不在 Mongoose 数组中添加默认值?

我有这样的架构:varCustomUserSchema=newSchema({role:[],permissions:[],});permissions字段存储一个字符串数组,如下所示:["Delete","Show","Create"]而role字段存储一个对象数组,如下所示:[{name:"admin",priority:10,permissions:["Delete","Show","update"]},{name:"user",priority:5,permissions:["Delete","Show"]}]现在,我的要求是能够将“显示”存储为架构中permissions字段

javascript - 为什么我的架构不在 Mongoose 数组中添加默认值?

我有这样的架构:varCustomUserSchema=newSchema({role:[],permissions:[],});permissions字段存储一个字符串数组,如下所示:["Delete","Show","Create"]而role字段存储一个对象数组,如下所示:[{name:"admin",priority:10,permissions:["Delete","Show","update"]},{name:"user",priority:5,permissions:["Delete","Show"]}]现在,我的要求是能够将“显示”存储为架构中permissions字段

javascript - 在 Mongoose 中加载后更改模型值

在我的Mongoose模型中,我有一些依赖于时间的stats。我的想法是添加middleware在加载模型后立即更改这些统计信息。不幸的是,post-Hooks上的文档有点不够清晰。看来我可以使用这样的钩子(Hook):schema.post('init',function(doc){doc.foo='bar';returndoc;});他们唯一的例子涉及console.log-输出。它没有以任何方式解释是否必须返回doc或post-Hook中的更改是否根本不可能(因为它不是异步的,复杂的想法可能几乎没有用处).如果'init'上的pre不是在加载时自动更新模型的正确方法,那么什么是?

node.js - Mongoose 填充不起作用

您好,我有这个Schema(称为schema.js):varmongoose=require('mongoose'),Schema=mongoose.Schema;varRoomSchema=newSchema({name:{type:String,required:true,index:{unique:true}},people:{type:Number,required:true},childrens:{type:Number,required:true},total:{type:Number,required:true}});varRoom=mongoose.model('Roo

javascript - 从 JSON 格式的 'description' 动态定义 Mongoose 模式

我正在制作一个网络应用程序,它允许用户通过首先在客户端表单中“注册”模式来在我的服务器上创建自己的自定义MongoDB集合。所以用户将创建一个模式客户端-比如说使用这样的表单:http://r.github.com/annotationsformatter/所以客户端Js会生成表单的JSON对象,例如:{"collection_name":"person","data":{"name":"String","email":"String","id","Number",}}接下来,页面会将这个对象发送到服务器,服务器应该将data中的内容转换为适当的MongooseSchema并从中创建一