使用Mongoose列出集合项

这个问题与“类似”,但我要求的是替代方案(如果存在) 我在mongo shell中创建了一个dbNums,其中包含一个集合numbers。 使用mongoose作为ODM,我想访问该集合并列出编号 var mongoose = require('mongoose') , Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/Nums'); mongoose.model('numbers', new Schema({v

使用mongoose插入/更新记录

我试图使用mongoose将一条记录插入mongodb,但当记录已经在数据库中时,该记录不会更新。我做错什么了吗?猫鼬的文档对我来说不是最容易理解的 models.fg_records.update({email:clean_email}, inactive_user, {update: true}, function (err) { if(err){ throw err; console.log(err); } else { /

字符串数组的mongoose数组

我希望Mongoose模式属性包含字符串数组,如下所示 [['one','two','three'],['four','five']] 我应该如何在模式中对此进行建模?以下内容似乎不起作用,但可能是另一个错误 names : [[{type: String, trim: true}]] 我是否必须按照 感谢啊,事实证明嵌套数组确实必须放在不同的模式中 var InnerArray = new mongoose.Schema({ set : [{type: String, trim: tr

如何安装mongoose 3.6rc0

我想尝试新的mongoose 3.6rc0,但如果我安装了npm,我会得到3.5.7版本。您可以通过运行以下命令来完成此操作: npm安装mongoose@3.6.0rc0 并且将安装指定的版本。您可以通过运行以下命令来执行此操作: npm安装mongoose@3.6.0rc0 并且将安装指定的版本

Mongoose SchemeString、大写字母的优先级和匹配

我想添加一个gender字段,该字段接受[MmFf]并规范化为[MF]。 以下是我的模式: var UserSchema = new Schema({ name: String, gender : { type: String, upper: true, match: /[MmFf]/ } }); 我想知道SchemeString函数的执行顺序是什么。 如果在匹配之前执行大写,则我的匹配也可以是[MF] 关于trim和match,我也有类似的问题 谢谢。艾伦·赫克曼回答 “上

Mongoose 在架构中的子文档数组上指定select:false

我正在寻找有关关闭select of property(子文档数组)的正确语法的帮助。我希望有这样的东西: var UserSchema = new Schema( { fb_id : Number, children : [{ type: CustomChildSchema,select:false}] } ) childrenarray具有指数增长的潜力,因此除非明确要求,否则我会尽量避免查询结果中出现这些内容 我提出

使用mongoose根据id加载用户

我试图弄清楚如何在节点应用程序中使用mongoose根据ID加载用户。我来自php/mysql的背景,我很难弄明白如何在node+mongoose中将这一切联系起来。有人能帮我改进/修复这个例子吗 模型/user.js var mongoose = require('mongoose') , Schema = mongoose.Schema; var userSchema = new Schema({ facebookProfile: {}, facebookPages

Mongoose删除嵌套文档无效

我的问题是:我没有找到解决问题的办法。我的问题是:我有这样一个嵌套文档: # js post.likes.pull({_id: '54ff6091933a118f790180e3'}); post.save(); # mongo db.posts.find() { "username" : "test", "_id" : ObjectId("54ff6091933a118f790180e4"), "likes" : [ ] } Post对象是主对象,Post对象有两个嵌入对象,如Like和C

Mongoose 具有不同模式的子文档

我是Mongoose的新手,我正在努力理解如何正确地声明结构 比如说,我有一个单独的集合todo,其中应该包含描述应该做什么的文档。所有TODO项都有一些共同的属性,但大多数细节取决于特定的任务 // Tasks: var hairCutSchema = new Schema({ style: {type: String, required:true}, length: Number }); var paintWallSchema = new Schema({ color: {t

Mongoose TS2351:无法使用';新';使用其类型缺少调用或构造签名的表达式。猫鼬

不确定我做错了什么,但我有以下课程/模块: import*作为“猫鼬”中的猫鼬; 从“lodash”导入*as uuu; 进口*作为“蓝鸟”的承诺; 从“../lib/database”导入{db}; 让猫鼬=猫鼬; 猫鼬。承诺=承诺; 导出类基模型{ 构造函数(schemaObj:{},modelName:string,statics?:{}){ 让Schema=newmongoose.Schema(schemaObj) Schema.statics.list=函数(){ 返回这个。find

Mongoose 解析前返回的findOneAndUpdate方法

该方法返回未定义。例如,在findOneAndUpdate解析之前完成 exports.updateMovie = async (movie) => { try { return await Movie.findOneAndUpdate({_id: movie._id}, movie, {upsert: true, new: true}, (err, result) => { return result; });

您能简单地解释一下使用mongoose时的实例方法是什么吗?

如果我说这个代码不清楚,我错了吗 我或多或少了解这应该做什么,但是。。。 我猜我们正在寻找集合中具有相同类型的对象 事情是他们写这段代码的方式听起来对我来说不是很清楚。你能提供一个更好的例子或纠正这个吗 非常感谢 现在,我们所有的动物实例都有一个可用的findSimilarTypes方法 var Animal = mongoose.model('Animal', animalSchema); var dog = new Animal({ type: 'dog' }); dog.find

Mongoose MongoError的NestJS异常筛选器返回未处理的PromisejectionWarning

我正试图通过Mongoose为Mongo错误创建一个自定义异常过滤器。当我使用过滤器时,会出现未处理的PromisejectionWarning,并且不会给出任何结果。你知道我该怎么解决这个问题吗 错误:未处理的PromisejectionWarning:TypeError:“instanceof”的右侧不是对象 users.controller.ts import { Body, Controller, Post, UseFilters } from '@nestjs/common'; imp

如何通过属性大小未达到特定数字或在Mongoose中为空或null的值获取对象

我有一个属性为bvn的mongoose模式,bvn值的默认长度为11,我想查询该模式以获取具有坏bvn的对象,这包括 bvn的为空 bvn的空字符串 bvn的值小于或大于11 我尝试通过以下方式实现这一点: await this.find({ 'bvn': { '$exists': true }, '$expr': { 'ne': [ { '$strLenCP': '$bvn' }, 11 ] } }).exec() 但我得到了一个错误: MongoError:

Mongoose嵌入式文档需求检查/验证不冒泡

我有一个简单的用例,我想取消保存,以防嵌入的文档缺少必填字段 下面是一个带有一些伪代码的简单示例: var Post = new Schema({ title: { type: String, required: true }, tags: [Tag] }) var Tag = new Schema({ title: { type: String, required: true } }); 当我保存一篇没有标题的文章时,我确实会出错。当我用标题和标签保存一篇文章,但标

Mongoose:如何将字段组合定义为唯一的?

如果我有这样一个模式: var person=新模式({ 名字:String, 姓氏:String, }); 我希望确保只有一个文档具有相同的名字和姓氏 我怎样才能做到这一点呢?我还没有尝试过,但使用唯一索引应该可以做到这一点 db.person.ensureIndex( { "firstname": 1, "lastname": 1 }, { unique: true } ) 您可以使用模式上的索引调用定义唯一的复合索引: person.index({firstName:1,lastNam

ObjectId为null的Mongoose查询?

在未设置ObjectId字段的情况下,如何搜索执行.findOne的文档?我找不到是否应该搜索null或未定义的或其他内容 在下面的示例中,我试图找到一个文档,其中“email”值已知,但用户ID尚未设置: var joinRequest = new mongoose.Schema({ email: { type: String, unique: true, lowercase: true, trim: true }, code: { type: String, uppercas

mongoose预更新挂钩-更新文档不';行不通

猫鼬v4.4.7 我正在从另一个模型的控制器更新停车模型。 我想在更新之前做第二次更新,但在mongoose钩子中似乎不起作用 考虑到这个问题 // non Parking controller Parking.update({_id: parked.parkingId}, { $set: { 'availability.current': true } }); 我想做一些像 // Parking Model ParkingsSchema.pre('update', function()

Mongoose模型的Mocha检验产生的误差为';然后';

我正在运行一个API的早期测试,错误应该是显而易见的,但我在45分钟内都在盯着同一个代码 这里是错误 Creating User document find or create a twitter user: TypeError: Cannot read property 'then' of undefined 这是测试。错误出现在行中。然后(用户=>{…} const assert = require('assert'); const User = require('../models/us

Mongoose:根据另一个集合中的值筛选集合

考虑包含另一个集合的ID数组的文档,如何使用mongoose根据相关集合应用过滤器来查找文档? 我找不到我的错误 Installation.aggregate( [ // Stage 1 { $lookup: {

当foreignField是数组时,Mongoose无法填充虚拟字段

我试图在mongoose中创建一个虚拟的populator,但我在这方面遇到了困难,我不知道这是一个限制,一个bug,还是我做错了什么 其思想是,一个用户可以是多个组的成员,然后我可以通过查询组数组中id为的用户来填充组架构中的虚拟组 我创建了一个示例(基于原始mongoose文档)。 卢卡·图里利(Luca Turilli)加入了许多乐队,有时是同时加入的,所以最初的模型(乐队是一个单一领域)并不适合意大利的力量金属 const mongoose=require('mongoose'); co

Mongoose aggregate$match返回空结果

当我使用“findOne”函数时。 我得到了正确的结果 但是当我使用aggregate和$match时,我得到的结果是空的。 有错误代码吗 我应该使用聚合,所以我不能使用findOne函数。 我尝试了很多代码。但我找不到解决办法 //resolver.js const Mongoose = require('mongoose'); const { ObjectId } = Mongoose.Types; const { GraphQLScalarType } = require('graphql

MongooseJS:Prevent.populate()是否将字段设置为NULL?

我有一个Mongoose模型,其属性引用了另一个模型(即,单独集合中的文档)。引用的文档并不总是存在(例如,它已被删除)。在此场景中,如果调用model.someProp.populate(),model.someProp将设置为NULL 是否可以修改.populate()的行为,以便在找不到引用文档的情况下,保留原始字段值,而不是将其设置为NULL?Hello@clint harris是否找到解决方案?也感兴趣!我发现你可以先测试referenceId是否为null,然后尝试填充,如果之后为n

Mongoose多级标记不工作

我有一个带有字段异常的模式,它的模式类型是混合的。 异常字段是对象的多级对象。我正在标记对象中修改的所有路径,但结果不保存 在保存之前,我会循环通过我知道已修改的深层次键并执行此操作 _.forOwn(user.exceptions[date][mealTime], function(value, key) { user.markModified('exceptions.' + date + '.' + mealTime + '.' + key); }); user.ModifiedP

Mongoose 在moongose中引用嵌套架构

我有一个专辑模式,其中有一个子方案的歌曲 AlbumSchema albumName: songs:[{name,url}] 我有另一个收藏,它有一个播放列表的模式。 此模式中的每个文档都应该包含一个歌曲数组 PlaylistSchema playlistName: songs:[] 如何从播放列表中引用歌曲,以便在播放列表中使用“填充”? 有没有一种方法可以不把歌曲分成自己的收藏?我试过搜索SO和moongoose文档,但到目前为止还没有找到一种方法 注意:此问题被标记为重复问题。不是!主

是否为mongoose架构预删除未触发的事件?

这不是开火!不知道为什么,我非常感谢你的帮助 Booking.find({_id: key}).remove(function(err, result){ if (err) { console.err("ERR", err) } else { console.log("remove result", result); } }) BookingSchema.pre('remove', function (next) { console.log("THIS

Mongoose 猫鼬按参考计数器排序

我有民意测验和投票,我想对排名靠前的民意测验(投票最多的民意测验)进行排序。 这是我的模式: pollSchema = Schema ({ ... }; voteSchema = Schema ({ ... poll: { type: Schema.ObjectId, ref: "Poll" }, user: { type: Schema.ObjectId, ref: "User" } }; 因此,基本上每次投票都指向它所属的投票,而不是相反的方向(保持一个“

Mongoose 你如何开玩笑地模仿猫鼬函数?

如何模拟mongoose调用,如find(),distinct(),count(),populate(),等等 我尝试了Mockingoose npm包,但它似乎仅限于基本调用,如find(),尽管它说可以与distinct()一起使用,但它要求您返回一个文档,并且不允许您返回数组。您可以使用jest.spyOn()然后使用mockImplementation()模拟第一个调用,如find()和update()。下面是一个findOneAndUpdate()的示例,我们正在检查以确保传递了正确的

NestJS在返回Mongoose文档时过滤掉空属性

我在mongoose文档中有一个嵌套很深的对象,其中包含以下数据: { blocks: [ { key: '3a673', text: 'kjhkhj', type: 'unstyled', depth: 0, inlineStyleRanges: [], entityRanges: [], data: {} } ], entityMap: {} } 当我从数据库和console.

Mongoose 猫鼬填充文档

我想创建一个文档,保存它,然后返回一个填充了字段的文档。这是我的代码,但填充的字段未定义(而不是用户名): (此函数是异步的)。我确信用户ID是正确的,因为当我稍后获取此文档时,一切正常(文档的作者已正确填充) 如何在第一个示例中正确填充?您需要使用execPopulate()函数来填充文档 doc.populate("authors", "name").execPopulate(); Documents.find(/*…/).populate(“作者

Mongoose对象模式

这在猫鼬模式中可能吗 Mike Anderson : { Age: 35 Address : United States, } 我不知道在这个模式中添加什么 const Person = new mongoose.Schema({ age: { type: Number, required: true, }, address: { type: String, required: true, }, }); 您想要一本字典,其中键是pers

Mongoose更新操作ObjectId在新引用上强制转换错误

我有一个问题,如果我尝试将一个新的ref属性保存到一个现有文档中,我会得到一个castId错误,但是如果我最初使用该文档属性集创建该文档,那么这个相同的更新工作正常 让我再解释一下: 我有这样一个模式: name: String, desc: String, user: { type: ObjectId, ref: 'User' } 现在,如果我用“user”值集创建一个新文档,我可以自由地更新它。但是,如果我创建的文档没有“user”值,然后稍后尝试使用user值更新它,我会得到一个

使用Node.js和Mongoose从JSON文件填充MongoDB中的引用集合

我使用Node.js和Mongoose从JSON文件填充MongoDB中的引用集合 var UserSchema = new Schema({ username: String, sites : [{type: mongoose.Schema.Types.ObjectId, ref: 'Site' }], }); var SiteSchema = new Schema({ user : { type: String, ref: 'User' }, siteTitle: String, pa

elasticsearch elasticsearch/Mongoostic:es_索引和es_类型之间有什么区别

我需要在我找到的elasticsearcha和Mongoostic应用程序中实现搜索,因为我正在使用mongoose来破坏我的mongodb 按照提供的步骤为模型中的许多字段编制索引,一切正常。但在我付诸行动之前,我想弄清楚两者之间的区别 title: {type: String, es_indexed:true} description: {type: String, es_type:'string'} iv'e还可以使用es_boost:2.0计算出高优先级 string: {type:S

在mongo中有效的查询在mongoose中不起作用

我在mongoose中进行以下查询: Schedule.find({ 'operative.from': { $lte: '2015-09-07T00:00:25+00:00' }, 'operative.to': { $gte: '2015-09-07T23:59:25+00:00' }, 'operative.weekdays': { $in: [ 1 ] } }) .exec() .then(function () { … }) 它不返回任何结果。

Mongoose单个嵌入子文档默认值

Mongoose在版本4.2.7中创建了一个新的单子文档功能(and),允许一个嵌入的子文档模式,其行为方式与一对多子文档的行为方式相同 在父级保存时创建默认单子单据的最佳方法是什么 var UserPermisssionsSchema = new mongoose.Schema({ siteAdmin: { type: Boolean, default: false, } }); var UserSchema = mongoose.Schema

Mongoose使用多个子路径填充路径

假设我有以下模型: # MODEL A schemaA = mongoose.Schema _bId: type: mongoose.Schema.Types.ObjectId ref: "B" # MODEL B schemaB = mongoose.Schema _cId: type: mongoose.Schema.Types.ObjectId ref: "C" _dId: type:

Mongoose 如何使用子属性查询数据?

我有以下代码: Model.Class.find().populate({ path: 'student', select: '-_id grade', }).where("student.grade").equals("80").exec(function (err, result) { log.info(result); }); 它将给我一个空数组 如何使用子属性查询数据?我的代码中有什么错误吗?在填充中直接包含您的位置,如: Story .find(...) .p

如果存在,则使用$set更新文档,否则使用Mongoose插入整个新文档

我试图在mongoose中使用$set更新文档,但只希望它在文档存在时使用该集合。否则我希望它创建一个新文档。问题是我需要添加整个文档,而不仅仅是$set中提到的字段。这在mongoose的一个查询中可能吗 您可以使用findOneAndUpdate和upsert:true选项: MyModel.findOneAndUpdate(query, {$set: {.....}}, { upsert:true }, function(err, doc){ if (err){

Mongoose 如何确保保存的文档符合MongoDB中的模式?

我有一个普通的应用程序,偶尔会在MongoDB中更改用户文档的模式 当我将新文档保存到集合中时,我希望保存的文档与架构完全匹配,否则会引发异常,是否可能 目前,我可以保存部分文档,甚至更糟的是,尝试保存MongoDB忽略的一些不存在的字段(在模式中) 感谢基本上,模式是一个集合的蓝图。每个模式映射到一个MongoDB集合,并定义该集合中文档的形状 现在来谈谈你的问题 1:可以保存部分文档:如果不想保存部分文档,则必须按照文档中的要求标记所有字段。如果发送部分文档,则会引发错误 2:尝试保存一些不

将所需的mongoose架构类型设置为null

我有一个注册流程,第一页只要求输入电子邮件和密码。下一页询问国家、州(可选)和城市 在我的Mongoose模型中,我将所有字段设置为required,但国家、州和城市直到第二页才分配值,因此需要将它们分配给null或其他空值或伪值 const User = mongoose.Schema({ email: { type: String, required: true }, password: { type: String }, country: {

Mongoose 对象数组数组内部的pologulating字段

我的模型如下所示: const gallerySchema = new Schema({ pictures: [[{ title: String, file: { type: Schema.ObjectId, ref: 'asset', } }]], createdAt: Date }); 我想填充文件字段 我试过这个 Gallery .find({}) .populate({'path': 'pictures.file'}) 这不

Mongoose查询以查找位置小于或等于用户愿意从用户处旅行的距离的用户';s位置

我正在为一名招聘人员构建一个web应用程序。用户是招聘人员的候选人之一 招聘人员将输入一个角色的位置,例如伦敦牛津街 客户端将向api/users/:location发出GET请求 在路线的控制器方法中,我将获得该位置的坐标 我如何创建Mongoose查询来查找用户,其中位置小于或等于用户愿意从用户位置旅行的距离或用户愿意重新定位的距离 const UserSchema = new mongoose.Schema({ location: { type: { type: S

使用mongoose findone时如何删除数组元素

我有以下代码。图像是一个数组,我希望输出除图像中存在的路径以外的所有内容。如何实现这一目标? 图像包含-ID、标题、路径 if (dbRes !== null) { res.apiSuccess({ town: dbRes.town, county: dbRes.county, postCode: dbRes.postCode,

Mongoose 保存更新的参考字段时的猫鼬行为

在填充(或未填充)模型中更改ref值时,我希望能够了解mongoose的行为 假设我们有: var CountrySchema = new Schema({ _capital: { type: ObjectId, ref: City } }); Country.findOne({}).populate('_capital').exec((err, country) => { /* CODE HERE */ country.save((err, done); }); 如果我把

为mongoose中的字段设置严格值

我想在mongoose中为字段设置严格值,例如在bellow模式中 var Option_Sets = new Schema({ setId: { type: mongoose.Schema.ObjectId, default: mongoose.Types.ObjectId, required: true, dropDups: true, index: true }, setName: {

将项添加到Mongoose中的多维对象数组

我有这样的Mongoose用户模式,但我想将数组中的项推送到我的一个对象中 下面是一个模式示例 const userSchema = new Schema({ tokens:[{ token: { type: String, requird: true } }], tradings: { buy: { data: { type: Array } }, se

使用Nest.js引用mongoose模式中的另一个模型

我刚从Nest.js开始,我很难理解为什么我不能在其他mongoose模式中引用mongoose模型 它适用于单元模型,但不适用于产品 以下是我的代码供参考: ProductUnit架构 从'@nestjs/mongoose'导入{Prop,Schema,SchemaFactory}; 从“mongoose”导入{Document,SchemaTypes}; 从'src/products/entities/Product.entity'导入{Product}; 从'src/units/entit

  1    2   3   4   5   6  ... 下一页 最后一页 共 10 页