草庐IT

node-keyboard

全部标签

node.js - 如何用 Mongoose 排除数组类型字段

我有这样的架构:varCitySchema=newSchema({name:{type:String,required:true},region:{type:Schema.Types.ObjectId,ref:'Region',required:true},images:[{type:Schema.Types.ObjectId,ref:'Image',select:false}]});当我对集合进行查询时,即使我放置了select:false,字段图像仍会显示。如何在不使用.select('-images')的情况下隐藏字段? 最佳答案

node.js - 如何强制for循环等待回调在nodejs中完成?

entry.find(function(err,user){for(vari=0;i所以我在这里要做的是等待每个for循环完成,然后再调用异步可分配函数。Assigntable是对数据库进行更改的回调。我现在遇到的问题是,由于在for循环完成后调用了assigntable的回调,所有用户都将被分配到表1。但我想要的是:将第一个分配给表1->在下一个循环中分配表检测到表1已分配->用户2分配给表2,依此类推。我该怎么做?编辑:Assgintable是一个递归调用,它在回调中编辑数据库。更新将基于上一个循环生成的数据库的结果,但我在这里不相关。functionassigntable(use

node.js - Mongoose 从多个可能的集合中填充 ObjectID

我有一个看起来像这样的Mongoose模型varLogSchema=newSchema({item:{type:ObjectId,ref:'article',index:true,},});但是“item”可以从多个集合中引用。有可能做这样的事情吗?varLogSchema=newSchema({item:{type:ObjectId,ref:['article','image'],index:true,},});'item'的想法可以是来自'article'集合或'image'集合的文档。这是可能的还是我需要手动填充? 最佳答案

node.js - 获取属于一个用户的所有帖子并显示以传递给 View Node/Express/Mongoose

下面是User模型、Post模型和路由的代码。我需要查询数据库,然后通过路由器传递给View。我错过了什么?用户模型:varmongoose=require('mongoose');varSchema=mongoose.Schema;varuserSchema=newSchema({firstName:{type:String,required:true},lastName:{type:String,required:true},email:{type:String,required:true},password:{type:String,required:true}});module

node.js - 异步 : Combining two mongodb collection using Async. forEach

我是MEAN堆栈的新手,我正在尝试学习异步。我正在尝试使用async合并来自mongodb的两个集合并应用了这个iterateoveracollection,performanasynctaskforeachitem,我正在尝试学习完成这些简单任务的最简单有效的方法,以便它易于理解。varOrderSchema=newmongoose.Schema({menu_id:{type:mongoose.Schema.Types.ObjectId,ref:'Foods'},menu_name:{type:String,required:false},customer_id:{type:Stri

node.js - 我已经在 mongoose 上加载了一个文档后,我可以填充更多字段吗?

我想在加载一个文档后填充其他字段。我正在将我的购物车加载到我正在构建的电子商务中,在所有路线上都是这样:app.use(function(req,res,next){Cart.findOne({session:req.cookies['express:sess']}).populate({path:"products.product",select:"pricenamephotosslug"}).exec(function(err,cart){if(err){returnerr;//TODO:PAG500}if(cart){res.locals.cart=cart;}else{res.

node.js - 将 Mongoose 查询结果存储在另一个 Mongoose 查询中

我是nodeJs和mongodb的新手。我在查询Mongoose对象时遇到了一些问题。我有2个模型用户模型:varmongoose=require('mongoose');varbcrypt=require('bcrypt');vargravatar=require('gravatar');varSchema=mongoose.Schema;varSendSchema=require('./Send').schema;varTravelSchema=require('./Travel').schema;varUserSchema=newSchema({name:String,email

node.js - Mongoose 查询内部文档数组

我有这样的模式设计varuserNotificationSchema=newSchema({notification_id:{type:Schema.Types.ObjectId,ref:'notifications'},isRead:{type:Boolean}});varuserSchema=newSchema({notification:[userNotificationSchema]});我想获取所有isRead:'false'的通知数组列表。为此我写了Model.User.find({_id:userid,'notification.isRead':false},functi

node.js - 500 错误 : Cast to ObjectId failed for value at path \"_id\" for Mongoose model using ResourceJS

按照本MEANApprepo中的说明逐步安装resourcejs。,当我访问URLhttp://localhost:3000/movie/584c6f00cf996a9956784807时收到以下消息:{"status":500,"message":"CasttoObjectIdfailedforvalue\"584dd2842a056e4a648751b5\"atpath\"_id\"formodel\"movie\"","errors":{}}POST请求也有效,但PUT和DELETE无效。index.jsvarexpress=require('express');varbodyP

node.js - 如何更新 Mongoose 中的记录

我试图在循环中更新记录的一个字段,注意该字段是一个数组,我的代码如下,Employeehierarchy=mongoose.model('Employeehierarchy'),function(done){varObjectId=require('mongoose').Types.ObjectId;varitem={'childrens':{$in:[ObjectId(employee.manager)]}};Employeehierarchy.find(item).exec(function(err,employeehierarchy){if(err){returnres.stat