gpt4 book ai didi

javascript - AngularJS - 与 mongodb 的交互

转载 作者:IT老高 更新时间:2023-10-28 13:34:39 25 4
gpt4 key购买 nike

我是 MEAN 堆栈的新手,目前我正在尝试创建一个基本的单页应用程序。

我正在尝试连接到 mongodb,然后列出 Controller 中某个集合中的值。

但是,当我寻找答案时,我遇到了这个答案 Using AngularJs and MongoDB/Mongoose

如果您不能在 angular 和 mongo 之间使用下面的代码,那么这让我感到困惑是什么意思?还是有其他使用它的临时步骤?

var mongoose = require('mongoose');
var db = mongoose.createConnection('mongodb://localhost:3000/database');
var orderSchema = new mongoose.Schema({
routeFrom : String,
routeTo : String,
leaving: String
});
var Order = db.model('Order', orderSchema);
module.exports = Order;

编辑:我尝试使用它的情况是这样的:

极客.html

<div class="jumbotron text-center">
<h1>Geek City</h1>

<p>{{tagline}}</p>

<ul>
<li ng-repeat="value in dataValues">
{{value.name}}
</li>
</ul>


</div>

极客 Controller

angular.module('GeekCtrl', []).controller('GeekController', function($scope) {

$scope.tagline = 'The square root of life is pi!';

$scope.dataValues = function(){

var mongo = require('../config/db.js');

var collectionValues = mongo.myCollection.find();

return collectionValues;
};
});

最佳答案

您不能在 Angular 中要求 db.js 配置文件,因为它没有设置为在客户端使用。您所描述的是所谓的“同构”方法。

我的意思是:mongo 是一个数据库系统(粗略地说)。要从数据库中获取数据,我们通常不信任客户端。所以我们有一些服务器端代码(PHP、Ruby、Node.js、Java,你有什么)授权客户端、处理和过滤数据并将其返回给客户端(在本例中为 Angular.js)。因此,您的 Mongoose 模型设置为由服务器端 javascript 和应用程序的该部分使用。该服务器端还应该向 Angular 提供数据,因此您可以从 Angular 连接到 Node.js,而不是直接连接到 Mongo。因此(通常)为您的 Angular 文件提供服务的同一台服务器也将提供从 mongo 读取的数据。

如果您希望使用 Angular 获得无服务器数据,可以查看 Firebase.js。它是 angular-ready 的,它可以帮助你不要弄乱 Mongo、mongoose 和服务器端代码。

您可以尝试混合方法,将诸如 meteor .js 或 Backbone 之类的东西设置为在客户端和服务器上都可以工作,或者查看 this article了解更多信息。

或者为了它的值(value),如果你想运行你自己的 Mongo,你可以用 --rest 启动 mongo,然后你就可以直接连接到 Angular 到 Mongo,在 http://somehost:28017/mydatabase 或类似的东西,具体取决于您的设置。

关于javascript - AngularJS - 与 mongodb 的交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23439372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com