草庐IT

javascript - 无法使用 RESTful api put 更新 mongo 数组

我是MEAN堆栈的新手,最近完成了一个教程并一直在尝试进一步开发它。这是一个使用RESTfulapi更新mongo数据库的简单应用程序。现在,我正在使用put语句来更新我收藏中文档的某些部分。唯一的问题是当我尝试使用此put语句更新数组时出现500错误。这是我的Server.js文件中的put语句:app.put('/users/:id',function(req,res){varid=req.params.id;console.log(req.body.name);db.users.findAndModify({query:{_id:mongojs.ObjectId(id)},upd

node.js - 使用 Monk 列出 MongoDB 中的集合名称

在我使用Monk的Node.js(Express)应用程序中,我需要呈现MongoDB数据库中所有集合的列表。有没有办法使用Monk获取数据库中的集合列表? 最佳答案 这基本上可以做到这一点,但需要深入研究底层驱动程序才能做到这一点:vardb=require('monk')('localhost/test');db.on("open",function(){console.log(db.driver._native.command({"listCollections":1},function(err,result){console

node.js - 如何在 MongoDB collection.find() 上获得回调

当我在MongoDB/Node/Express中运行collection.find()时,我想在它完成时得到一个回调。正确的语法是什么?function(id,callback){varo_id=newBSON.ObjectID(id);db.open(function(err,db){db.collection('users',function(err,collection){collection.find({'_id':o_id},function(err,results){//What'sthecorrectcallbacksynataxhere?db.close();callb

javascript - 使用 Async.parallel 我的参数的生命周期不会超过使用 MongoDB 的 NodeJS 中的异步调用

由于以下代码是异步的,我认为“recipeData”数组的生命周期不足以超过异步回调,所以我在全局数组中复制了数据,但我仍然收到相同的错误“类型错误:无法读取未定义的属性‘_id’”。这是代码:vartempArray;functiongetAllRecipes(db,callback){query(db,{},'recipes',function(err,recipeData){tempArray=recipeData.slice();if(err||!tempArray.length)callback(err);else{vartaskArr=[];for(vari=0;i调用“g

javascript - mongoose 和 express.js 中的冲突日期

当我使用Date而不是String类型声明我的模式时,就会出现问题。案例一:varMySchema=newSchema({created_at:{type:String,default:''}});通过这个shema声明,我使用moment.jsmoment-timezone模块来声明亚洲/加尔各答时区的当前时间。vartmoment=require('moment-timezone');varcurrentTime=tmoment().tz('Asia/Kolkata').format('llll');而且我能够得到正确的时间。案例二:varMySchema=newSchema({c

node.js - Mongoose 不插入数据

我正在向我创建的API发送发布请求。发布请求发送一些数据以存储在我的本地数据库中。varLoc=require('../models/locationSchema');module.exports.locationsCreate=function(req,res){console.log(req.body.name);console.log(req.body.address);Loc.create({name:req.body.name,address:req.body.address,},function(err,data){console.log('insidecallback!'

node.js - 当我创建一个带有引用另一个 Mongoose 对象的位置的模式时,如何防止 Mongoose 创建 id?

这不是重复问题,因为我“重复”的问题是关于从子化学中删除ID。在这里,我想防止mongoose使用referencenothing的ID填充我日历中的时间。它只是应该存储带有类(class)ID的类(class)。我正在尝试制作一个包含周、日和小时的日历,其中每个小时都应该能够引用一个类(class)。这是我的日历架构:varmongoose=require("mongoose");varcalendarSchema=newmongoose.Schema({owner:{type:mongoose.Schema.Types.ObjectId,ref:"User"},weeks:[{nu

node.js - 类型 'x' 上不存在 Mongoose 属性 'Document'

ts编译器说“文档”类型上不存在任何属性。似乎正因为如此,模型上的所有属性都无法设置。如果我将用户对象打印到控制台,我得到的只是{"_id":"长十六进制ID号"}我的模型配置如下:用户.tsimport*asmongoosefrom'mongoose';import*ascryptofrom'crypto';import*asjwtfrom'jsonwebtoken';varuserSchema=newmongoose.Schema({email:{type:String,unique:true,required:true},firstMidname:{type:String,req

javascript - Mongoose 切换多个连接

我正在使用Node.Js8.6和Mongoose4.11,并且有多个数据库连接。数据库连接是通过mongoose.createConnection建立的。我发现mongoose对象具有connections属性(数组),我可以在其中看到已建立的连接。我的问题是,在单独的模块中创建数据库模型时,在连接之间切换的正确方法是什么。索引.jsasyncfunctiondb1(){awaitmongoose.createConnection(process.env.MONGODB_URI_1,{useMongoClient:true});}asyncfunctiondb2(){awaitmong

html - 从 mongoDB 中获取数据并显示在 HTML 上

我无法理解如何从MongoDB数据库中获取数据并将其显示在HTML上。我已经为数据设置好了。这是server.js文件。constpath=require('path');constexpress=require('express');constbodyParser=require('body-parser')constmongoose=require('mongoose');constapp=express();//mapglobalpromise-getridofwarningmongoose.Promise=global.Promise;//connecttomongoosemo