使用NodeJS与Angodb建立AngularJS应用程序连接

时间:2018-01-02 13:04:15

标签: angularjs node.js mongodb

这是我的 Level 4 Diff(a,b) Level 0 Level 1 Level 2 Level 3 x7 525 C c1 c2 c3 x5 -0.03 A a1 a22 NaN x4 -0.04 A a1 a22 NaN x8 -0.08 C c1 c2 c3 … 应用。它工作正常并使用AngularJS从控制器中的数组中获取数据,但现在我想使用ng-repeat将其与Mongodb连接,以便从NodeJS获取数据采集。此外,当我编辑,更新或删除任何行时,它应该反映在Mongodb

我的Mongodb index.html



AngularJS

var app = angular.module("app", ["xeditable", "ngMockE2E"]);


app.service('filteredListService', function() {
    this.searched = function(valLists, toSearch) {
        return _.filter(valLists,
            function(i) {
                /* Search Text in all 3 fields */
                return searchUtil(i, toSearch);
            });
    };

    this.paged = function(valLists, pageSize) {
        retVal = [];
        for (var i = 0; i < valLists.length; i++) {
            if (i % pageSize === 0) {
                retVal[Math.floor(i / pageSize)] = [valLists[i]];
            } else {
                retVal[Math.floor(i / pageSize)].push(valLists[i]);
            }
        }
        return retVal;
    };

});

app.run(function(editableOptions) {
    editableOptions.theme = 'bs3';
});

app.controller('Ctrl', function($scope, $filter, filteredListService) {
    $scope.users = [{
            id: 1,
            name: 'harry potter',
            lName: "Pege",
            passw1: "12/12/2012",
            pages: "556"
        },
        {
            id: 2,
            name: 'narnia',
            lName: "Pim",
            passw1: "12/12/2012",
            pages: "557"
        },
        {
            id: 3,
            name: 'panchtantra',
            lName: "Smith",
            passw1: "1/03/2009",
            pages: "556"
        },
        {
            id: 4,
            name: 'atlas',
            lName: "Jones",
            passw1: "2/04/1995",
            pages: "888"
        },
        {
            id: 5,
            name: 'science',
            lName: "Doe",
            passw1: "2/04/1995",
            pages: "888"
        },
        {
            id: 6,
            name: 'guiness book',
            lName: "Pan",
            passw1: "2/04/1995",
            pages: "888"
        },
        {
            id: 7,
            name: 'panchtantra1',
            lName: "Smith",
            passw1: "1/03/2009",
            pages: "556"
        },
        {
            id: 8,
            name: 'atlas1',
            lName: "Jones",
            passw1: "2/04/1995",
            pages: "888"
        },
        {
            id: 9,
            name: 'science1',
            lName: "Doe",
            passw1: "2/04/1995",
            pages: "888"
        },
        {
            id: 10,
            name: 'guiness book1',
            lName: "Pan",
            passw1: "2/04/1995",
            pages: "888"
        },
    ];
    $scope.checkName = function(data, id) {
        if (id === 2 && data !== 'narnia') {
            return "Username 2 should be `narnia(case sensitive)`";
        }
    };

    $scope.saveUser = function(data, id) {
        //$scope.user not updated yet
        angular.extend(data, {
            id: id
        });
        return $http.post('/saveUser', data);
    };

    // remove user
    $scope.removeUser = function(index) {
        var index1 = index + $scope.currentPage * 4;
        $scope.users.splice(index1, 1);
        $scope.pagination();
    };

    // add user
    $scope.addUser = function($event) {
        $scope.currentPage = 2;
        $scope.id = $scope.users.length + 1
        $scope.users.push({

            id: this.id,
            name: 'Enter Book Name',
            lName: 'Author Name',
            passw1: 'Date of Publish',
            pages: 'Pages'

        });
        $scope.pagination();
        alert(users.id);
        $scope.resetAll();
    }


    //search
    $scope.pageSize = 4;

    $scope.allItems = $scope.users;
    $scope.reverse = false;

    $scope.resetAll = function() {
        $scope.filteredList = $scope.allItems;
        $scope.newEmpId = '';
        $scope.newName = '';
        $scope.newEmail = '';
        $scope.searchText = '';
        $scope.currentPage = 0;
        $scope.Header = ['', '', ''];
    }
    //pagination
    $scope.pagination = function() {
        $scope.ItemsByPage = filteredListService.paged($scope.filteredList, $scope.pageSize);
    };

    $scope.setPage = function() {
        $scope.currentPage = this.n;
    };

    $scope.firstPage = function() {
        $scope.currentPage = 0;
    };

    $scope.lastPage = function() {
        $scope.currentPage = $scope.ItemsByPage.length - 1;
    };

    $scope.range = function(input, total) {
        var ret = [];
        if (!total) {
            total = input;
            input = 0;
        }
        for (var i = input; i < total; i++) {
            if (i != 0 && i != total - 1) {
                ret.push(i);
            }
        }
        return ret;
    };
    $scope.sort = function(sortBy) {
        $scope.resetAll();
        $scope.pagination();
    };
    $scope.sort('name');


    $scope.search = function() {
        $scope.filteredList =
            filteredListService.searched($scope.allItems, $scope.searchText);

        if ($scope.searchText == '') {
            $scope.filteredList = $scope.allItems;
        }
        $scope.pagination();
    }

    $scope.resetAll();
});

function searchUtil(x, toSearch) {
    /* Search Text in all 3 fields */
    return (x.name.toLowerCase().indexOf(toSearch.toLowerCase()) > -1 || x.lName.toLowerCase().indexOf(toSearch.toLowerCase()) > -1 || x.id == toSearch) ?
        true : false;
}
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:-1)

您可以尝试学习nodejsmongodb