【发布时间】:2014-11-18 17:34:55
【问题描述】:
我正在使用 angular 连接到 mongoose db。 我有一个 .js 文件,我在其中编写了将数据插入 db 的代码:
'use strict'
test.controller('registrationCtrl', function($scope){
console.log('1');
$scope.newregister = function(user) {
console.log('inside registration function 1');
var user = require(['../server.js']);
console.log('inside registration function');
var mongoose = require('mongoose');
console.log('inside mongoose');
mongoose.connect('mongodb://localhost/userregistration');
console.log('inside connect');
var userSchema = {
username: String,
firstname:String,
lastname: String,
email: String,
password: String
}
}
});
但是当我尝试运行代码时,它给出的错误是:
1
inside registration function 1
inside registration function
Error: Module name "mongoose" has not been loaded yet for context: _. Use require([])
http://requirejs.org/docs/errors.html#notloaded
我刚刚创建的新 js 用于测试 db 功能并且工作正常。
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/userregistration');
console.log('1');
var userSchema = {
username: String,
firstname:String,
lastname: String,
email: String,
password: String
}
console.log('2');
var User = mongoose.model('User', userSchema, 'user');
console.log('3');
var newUser = new User({
username: 'sa',
firstname:'sa',
lastname: 'sa',
email: 'a@a.com',
password: 'sa'
});
console.dir(newUser);
newUser.save(function(err){
if(!err) console.log('inserted successfull');
else
{
console.log('failed');
}
});
【问题讨论】:
-
有意思,如果你把angularJS拿出来,你的猫鼬工作正常吗?
-
如果我在 .js 文件中添加整个代码并运行 js 文件,它会将数据插入 db。我正在编辑我的问题以提供我刚刚创建的 js ......并且正在工作很好
-
@Hatjhie:有什么想法吗?
-
我不知道如何以你的方式处理它,但如果我是你,我可能会在工厂这样做。所以,每次你需要调用 mangoose 时,你只需要将它注入到你的任何控制器中。