小编Jac*_*son的帖子

如何在猫鼬模式中将最小值设置为大于 0?

我认为这是一个简单的问题,但我很困惑。如何将最小值添加到猫鼬 > 0?

var customer = new Schema({
  cash: {
    type: Number,
    minimum: 0
  }
});
Run Code Online (Sandbox Code Playgroud)

此代码允许 0 值,但我想做 > 0

我知道,我可以做到这一点

var customer = new Schema({
      cash: {
        type: Number,
        minimum: 0
      },
      validate: {
        validator: function(value) {
          return value > 0;
        },
        message: 'cash need to be > 0'
      },
});
Run Code Online (Sandbox Code Playgroud)

*现金是浮动的,可以非常小

但是太长了,有没有更简单的方法?

mongoose node.js

6
推荐指数
2
解决办法
4887
查看次数

如何模拟猫鼬?

我应该在没有 mongodb 的情况下在 node+express+mongoose+swagger 应用程序上运行测试,我需要模块来模拟 mongoose(仅用于测试)。我试过 mock-mongoose 和 mockgoose,但我有错误:( 也许我失败了.. 或者这个模块不能帮助我我希望你的想法!

我创建了示例骨架:https : //github.com/miroslav-grabinskiy/swagger-server-mock-tested

我只需要在测试中模拟,我不需要测试猫鼬,比如:

Model.find()
Run Code Online (Sandbox Code Playgroud)

我需要像链接一样的测试 API(路由)

PS 模拟猫鼬不使用承诺 :(

mocha.js mongoose node.js

6
推荐指数
1
解决办法
8231
查看次数

猫鼬阵列推送没有重复

我使用以下update命令进行建模:

Room.update({_id: roomId, status: 'live'}, {$push: {"users" : {_id: user._id, loginName: user.loginName}}}, {}, function(err, room) {
Run Code Online (Sandbox Code Playgroud)

模型:

{
    _id: "56c0d9e332f6ddc80ec7271c",
    name: "Reqqqq2",
    creator: "MegaDaddgy",
    status: "live",
    __v: 0,
    users: [
        {
        _id: "56c0a986eeb118741109a45f",
        loginName: "MegaDaddgy"
        },
        {
        _id: "56bf96f56a0c220812f055e6",
        loginName: "Maad"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我不想向 中添加重复的字段users,我该怎么做?

mongoose mongodb

4
推荐指数
1
解决办法
4234
查看次数

Mongoose 枚举数

我需要在架构中获取字段的枚举值

我有架构:

let adminSchema = new Schema({
	login: {
		type: String,
		unique: true,
		required: true,
		minlength: 5,
		maxlength: 300
	},
	hashedPassword: {
		type: String
	},
	role: {
		type: Number,
		enum: [0, 1, 2],
		default: 1
	},
	salt: {
		type: String
	}
});

module.exports.Admin = Admin;
module.exports.roleEnum = Admin.schema.path('role').enumValues;
console.log(module.exports.roleEnum);
Run Code Online (Sandbox Code Playgroud)

控制台日志 -> 未定义

但是如果我将角色字段类型更改为字符串

let adminSchema = new Schema({
	login: {
		type: String,
		unique: true,
		required: true,
		minlength: 5,
		maxlength: 300
	},
	hashedPassword: {
		type: String
	},
	role: {
		type: String, …
Run Code Online (Sandbox Code Playgroud)

javascript enums mongoose mongodb node.js

4
推荐指数
2
解决办法
5294
查看次数

Joi 对象键类型

我有带有字符串值的动态字符串键的对象,

{
  [string]: string
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Joi.object().keys({
  [Joi.string()]: Joi.string()
})
Run Code Online (Sandbox Code Playgroud)

不工作:(

schema node.js joi

3
推荐指数
1
解决办法
1320
查看次数

如何在mongoose中获取集合列表?

如何在mongoose中获取名称收集列表?
较旧的答案 -
mongoose.connection.db.collectionNames不是一个函数(

mongoose mongodb

1
推荐指数
1
解决办法
5820
查看次数

0
推荐指数
1
解决办法
1534
查看次数