标签: mean-stack

在Monk上使用MongoDB集合上的find方法

我正在通过MEAN堆栈教程.它包含以下代码作为路由index.js.我的Mongo系列的名字是brandcollection.



    /* GET Brand Complaints page. */
    router.get('/brands', function(req, res) {
        var db = req.db;
        var collection = db.get('brandcollection');
        collection.find({},{},function(e,docs){
            res.render('brands', {
                "brands" : docs
            });
        });
    });
Run Code Online (Sandbox Code Playgroud)

我想修改此代码,但我不完全了解如何.find调用该方法.具体来说,我有以下问题:

  1. 传递什么对象function(e, docs)作为其参数?

  2. function(e, docs)MongoDB语法的一部分吗?我查看了有关Mongo CRUD操作的文档,但找不到对它的引用.似乎Mongo .find操作的标准语法是collection.find({},{}).someCursorLimit().我没有在.find操作中看到对第三个参数的引用,为什么一个允许在这里?

  3. 如果function(e, docs)不是MongoDB操作,它是Monk API的一部分吗?

  4. 从教程中可以清楚地看出,这段代码返回集合中的所有文档,并将它们作为名为"品牌"的属性放在对象中.但是,function(e, docs)在这个过程中,具体扮演什么角色呢?

任何澄清将非常感谢!

node.js node-mongodb-native mean-stack monk

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

Mean.js多个布局,服务器或角度布局

我一直在开发一个mean.js应用程序.我有一个管理主题,我正在尝试与现有的应用程序集成.

我的问题是

  1. 我们可以有多个服务器布局吗?如果登录用户是普通用户,如果用户是Admin,则使用layout-1 layout-2
  2. 如果我们不能有多个服务器布局(我认为这是不可能的).有没有办法检测Angular Client App中的params或scope变量,并在主Layout中动态加载partial.

假设我有一个Index.html文件,如果预期路由是Dashboard,我只是替换页面视图的一部分,(Ruby on Rails Developers会知道这个)

更新1:我用我需要的管理员索引和布局文件创建了2个文件.

admin.index.server.view.html 
Run Code Online (Sandbox Code Playgroud)

admin.layout.server.view.html
Run Code Online (Sandbox Code Playgroud)

我还在core.server.routes.js中添加了以下代码

module.exports = function(app) {
   // Root routing
   var core = require('../../app/controllers/core');
   app.route('/').get(core.index);
   app.route('/admin/').get(core.adminIndex);
};
Run Code Online (Sandbox Code Playgroud)

我还在core.server.controller.js中添加了以下代码

exports.adminIndex = function(req, res) {
   res.render('admin.index', {
       user: req.user || null
   });
};
Run Code Online (Sandbox Code Playgroud)

当我点击localhost:3000/admin /我得到错误:找不到模块'索引'

javascript angularjs mean-stack meanjs

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

安装MongoDB standalone或通过npm有什么区别?

我是MEAN的新手,只是去了一些往返(半天安装和卸载MEAN以及它的一切?)并且不想再这样做了.

我在Windows8上安装的MongoDB正在运行,已经构建为Windows服务.然而,然后我看到有一个叫做的东西npm install mongodb.我现在不知道该怎么办.

使用已经安装的默认MongoDB作为Windows服务与运行有区别npm install mongodb吗?

如果MongoDB此时用于MEAN堆栈构建,我该怎么办,但我也希望它打开并可能用于其他目的.

mongodb node.js npm mean-stack meanjs

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

SyntaxError:未预期的令牌n

我正在学习如何使用MEAN堆栈并练习我正在做一个网络,询问您的姓名,电子邮件和最近完成的课程.然后它将信息存储到DB.我找不到错误,也许是一个简单的错误.

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var morgan = require('morgan');
var mongoose = require('mongoose');
var port = process.env.PORT || 8080;
var Schema = mongoose.Schema;
var User = require('./user');

app.use(bodyParser.urlencoded({ extended: true}));
app.use(bodyParser.json());
mongoose.connect('mongodb://localhost');

app.use(morgan('dev'));

var apiRouter = express.Router();
apiRouter.route('/')
.post(function(req, res) {
    var user = new User();
    user.name = req.body.name;
    user.course = req.body.course;
    user.mail = req.res.mail;
    user.save(function(err) {
        console.log(user.name);
        res.json({ message: 'Thank you!'});
    });
}).get(function(req, res) {
    User.find(function(err, users) {
        if (err) res.send(err); …
Run Code Online (Sandbox Code Playgroud)

node.js mean-stack

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

Heroku 上的 Dockerized MongoDB?

我不确定这是否是提出这个问题的正确 StackExchange,但我正在设置一个 MEAN 堆栈应用程序,我想从一开始就做到这一点。

我真的很想使用 Docker 和 Heroku(因为他们有新的流水线组并且作为唯一的开发人员易于部署),但是我找不到任何关于如何在 Heroku 上将 MongoDB 作为 docker 映像运行的指南。

这甚至可能吗?我也不太明白如何将数据库放入二进制映像(Docker 映像)中,但我读过的每个指南都说要分离微服务。

有没有其他人这样做过?

谢谢。

编辑:或者让 Mongo 未泊坞窗并使用 MongoLabs 并为 Dev/Prod 数据库拥有两个单独的实例只是一个更好的主意?

heroku mean mongodb docker mean-stack

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

mongoose.findOneAndUpdate 返回 null

我正在使用 mongoose.findOneAndUpdate() 方法来插入和更新集合中的文档。但是,如果表中没有要更新的内容并且创建了新文档,则 findOneAndUpdate() 回调将返回 null。

我怎么知道 findOneAndUpdate() 的插入部分是否成功?

TimeTable.getTimeTableModelObject().findOneAndUpdate({ageGroup:'2'}, timeTable, {upsert:true}, function(err, foundData){});
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js mean-stack

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

webpack 编译 sass 错误:“...加载样式”后的 CSS 无效:预期为 1 选择器或规则,为“var content = requi”

我目前正在学习 webpack 和 MEAN 堆栈。我需要将我的 scss 文件加载到我的项目中,并且我在 webpack.common.js 文件中使用了 extract-text-webpack-plugin 和 css-loader 和 sass-loader。它成功地将 scss 文件转换为 css 并将其加载到我的项目所在的文件夹“/dist/”。但是,我在运行 webpack 时遇到错误:

ERROR in ./~/css-loader!./~/sass-loader/lib/loader.js!./~/extract-text-webpack-plugin/loader.js?{"id":1,"omit":1,"remove":true}!./~/style-loader!./~/css-loader!./~/
sass-loader/lib/loader.js!./src/app/app.component.scss
Module build failed:
// html, body{
^
      Invalid CSS after "...load the styles": expected 1 selector or at-rule, was "var content = requi"
      in C:\Users\Andres\Source\Repos\mean\mean\src\app\app.component.scss (line 1, column 1)
 @ ./src/app/app.component.scss 2:21-330
 @ ./src/app/app.component.ts
 @ ./src/app/app.module.ts
 @ ./src/app/index.ts
 @ ./src/main.browser.ts
Run Code Online (Sandbox Code Playgroud)

这是webpack.common.js文件,我与(它包括在几乎所提供的webpack.common.js文件工作mean.io有一些细微的变化我做了,开始你的意思的应用程序):

const webpack = require('webpack');
const helpers = require('./helpers');

const AssetsPlugin = require('assets-webpack-plugin');
const …
Run Code Online (Sandbox Code Playgroud)

mean-stack webpack

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

MEAN:Angular 应用程序的 NodeJS 服务器 - 我如何提供角度路线

这是我的节点server.js,它位于项目根目录中,有自己的 npm 配置。所有 Angular 文件都在dist/client之后ng buildclient/dist

在此输入图像描述

const express = require('express');
const colors = require('colors');
const bodyParser = require('body-parser');
const path = require('path');
const cors = require('cors');

const PORT = process.env.port||'3200';

// init "app"
const app = express();

app.use(cors({origin: `http://localhost:4200`}));

// angular entry point
app.use(express.static(path.join(__dirname, 'client/dist')));

//parse incoming data before routes
app.use(bodyParser.json())

// api routes
app.use('/api',require('./api/api'));

// error middleware
app.use(function(err, req, res, next){
    console.log(`${err}`.red.bold)
    res.status(422).send({error: err.message });
});

// listen
app.listen(PORT, function(){
    console.log(`app running on …
Run Code Online (Sandbox Code Playgroud)

node.js express typescript mean-stack angular

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

localhost 以角度方式将自身附加在后端 api 之前

我已经把我的后端放到了aws上。后端 url 在邮递员中工作正常。

但是当我将后端 url 放入 Angular 服务时,locahost 会附加到它的前面。

我该如何解决这个问题。

后端网址:api.angularapp.site

在我的服务中,我这样称呼:


private url = "api.angularapp.site/api/v1";

public signupFunction(data):Observable<any>{

    const params=new HttpParams()
    .set('firstName', data.firstName)
    .set('lastName', data.lastName)
    .set('mobileNumber', data.mobile)
    .set('email', data.email)
    .set('password', data.password)
    .set('gender',data.gender)
    .set('profilePic',data.profilePic);

    return this.http.post(`${this.url}/users/signup`,params);
  }//end of signup function

Run Code Online (Sandbox Code Playgroud)

但是当我运行应用程序并尝试注册时,我收到控制台错误:

http://localhost:4200/api.angularapp.site/api/v1/users/signup 404(未找到)

为什么这个 localhost 将自身附加到后端调用 url。

在 url 之前 ** private url = " http://localhost:3000/api/v1 ";** 在这种情况下,角度可以很好地连接到后端。但现在我不明白它是如何在启动中附加角度 locahost url

请帮忙

http mean mean-stack angular

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

ngrx 错误“模块“@ngrx/effects”没有导出成员“Effect””

我试图在 ngRx 中实现效果。我从“@ngrx/effects”导入 ted“Effect”,但显示错误“模块'“@ngrx/effects”'没有导出成员'Effect'.ts(2305)”

 import { Actions, ofType, Effect } from "@ngrx/effects";
 import { switchMap } from "rxjs/operators";

 import * as AuthActions from './auth.actions';

 type loginResponse = { token: string, message: string, loggedIn: boolean, time: number };

 export class AuthEffects {
    @Effect
    login = this.actions$.pipe(
        ofType(AuthActions.LOGIN),
        switchMap((authData: AuthActions.Login) => {
            return this.http
                .post<loginResponse>(
                    'http://localhost:3000/user/signup',
                    { 
                       email: authData.payload.email, 
                       password: authData.payload.password 
                    }
                )
        })
    )
    constructor(private actions$: Actions, private http: HttpClient) { }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用 ngRx 中的效果来实现登录系统。我从“@ngrx/effects”导入了“Effect”,但它显示错误“模块'“@ngrx/effects”'没有导出的成员'Effect'.ts(2305)”

javascript mean-stack ngrx angular

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