Angularjs 我想在mongodb中显示特定日期的出席情况
我有这样一个模式:Angularjs 我想在mongodb中显示特定日期的出席情况,angularjs,node.js,mongodb,Angularjs,Node.js,Mongodb,我有这样一个模式: var UserSchema = new Schema({ name: String, username: { type: String, required: true, index: { unique: true }}, password: { type: String, required: true, select: false },
var UserSchema = new Schema({
name: String,
username: { type: String, required: true, index: { unique: true }},
password: { type: String, required: true, select: false },
attendence: [{
month :{type:String},
year :{type:String},
day :{ type:String},
attended:{type: Boolean}
}]
});
我想在angular js表wiyh nodejs和mongodb中显示每个日期(月+年+日)的ie出席率。希望这段代码能帮助你 这是客户端的js代码,用于将userdetaile插入到数据库中,使用日期和时间
你好bhawna此代码必须帮助您。。。 Attentince用户的客户端代码Attentince..index.html
<html>
<head>
<title>Attendence</title>
<script src="angular.min.js"></script>
</head>
<body bgcolor="gray">
<a href="Shistory.html">Attendence Listing</a>
<div id="container" >
<h1 align="center"> Attendence </h1>
<div align="center">
<form method="post" name="ravi" action="/">
<input type="text" placeholder="Name" name="Item" required><br/>
date :<input type="number" placeholder="year" name="year" min="2015" max="2017" required>
<input type="number" placeholder="month" name="month" min="1" max="12" required>
<input type="number" placeholder="day" name="day" min="1" max="31" required><br/>
attended:<select name="attended">
<option value="Present">Present</option>
<option value="Absent">Absent</option>
</select>
<br/>
<input type="submit" value="Insert attendence" >
</form>
</div>
</div>
</body>
</html>
那么,你在做这些工作的时候被困在了哪里?你不知道该怎么问mongo?或者您在使用angular显示结果时遇到问题?到目前为止你都尝试了什么?顺便说一句,Mongo有一个特别的名字,所以你不必像那样存储它。日期类型也显示时间。我不希望时间造成歧义。我想存储每个用户在特定日期的单个记录--------------------2015年10月20日的姓名出席--------------------Akash true Nitin False----------------------------------我想要像这样的出席,对于一个特定的日期,它的出席被显示…我想要在一个表格中显示它请解释你想要什么格式来显示出席我在一个页面上做了一个下拉,我们选择了日期,月份和年份,然后进入下一页的url,如where 6-date,1个月和2015年,然后在下一页上,我想显示一个表,其中有两列,一列有名称,另一列显示URL中日期的出席人数。我这样做了,但我想的是,一些用户没有该日期的出席人数,但我也想显示他们的姓名,但在出席人数列中显示为空白,因为他们没有出席人数。在后端,我使用--apiRouter.route('/users/showatenence/:day/:month/:year').get(函数(req,res){console.log(req.params.day),User.find({'attentidence.day':req.params.day,'attentidence.month':req.params.month,'attentidence.year':req.params.year},{'attentidence.day.$':1},函数(err,obj){console.log(obj);});如果你想按日期搜索出席情况,那么它只显示当天当前用户的结果…我也做了很多…我想获取出席情况ie app.post('/',function(req,res)部分我需要以表格的形式获取记录是的,在前端我正在使用angularjs显示表格我试图做的事情是不可能的,因为Attentience在userschema中…….我必须为Attentidencebhawnamalhotra创建另一个schema我尝试了RavindraGalav的答案插入带有姓名和日期的Attention很好不需要另一个schema@BhawnaMalhotra如果您觉得这有帮助,请单击此处接受此答案。
MongoClient.connect("mongodb://localhost:27017/bhawna", function(err, db) {
if(err) { return console.dir(err); }
var collection2 = db.collection('sadulehistory');
var searchitem = (req.body.user).toUpperCase();
console.log(searchitem);
//var searchitem1 =(req.params.aa)
//console.log(JSON.stringify(req.body.search));
var yr = req.body.year;
var moy = req.body.month;
var dom = req.body.day;
var hr = req.body.hour;
var mnt = req.body.minutes;
collection2.insert({
'searchitem': searchitem,
'Scheduledtime': (new Date(yr, (moy - 1), dom, hr, mnt)).toLocaleString(),
'CurrentTime': (new Date()).toLocaleString()
}, function(err, result) {});
res.setHeader("Access-Control-Allow-Origin", "http://localhost:3000/")
res.setHeader("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS");
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
res.redirect('back');
});
<html>
<head>
<title>Attendence</title>
<script src="angular.min.js"></script>
</head>
<body bgcolor="gray">
<a href="Shistory.html">Attendence Listing</a>
<div id="container" >
<h1 align="center"> Attendence </h1>
<div align="center">
<form method="post" name="ravi" action="/">
<input type="text" placeholder="Name" name="Item" required><br/>
date :<input type="number" placeholder="year" name="year" min="2015" max="2017" required>
<input type="number" placeholder="month" name="month" min="1" max="12" required>
<input type="number" placeholder="day" name="day" min="1" max="31" required><br/>
attended:<select name="attended">
<option value="Present">Present</option>
<option value="Absent">Absent</option>
</select>
<br/>
<input type="submit" value="Insert attendence" >
</form>
</div>
</div>
</body>
</html>
<html>
<head>
<title>Attendence</title>
<script src="angular.min.js"></script>
</head>
<body bgcolor="gray">
<a href="index.html">Attendence</a>
<div id="container" >
<div align="center">
<h1 align="center"> Attendence Listing </h1>
<form method="post" name="ravi1" action="/a">
date :<input type="number" placeholder="year" ng-model="year" name="year" min="2015" max="2017" required>
<input type="number" placeholder="month" ng-model="month" name="month" min="1" max="12" required>
<input type="number" placeholder="day" ng-model="day" name="day" min="1" max="31" required><br/>
<input type="submit" value="attendence">
</form>
</div>
</div>
</body>
</html>
var MongoClient = require('mongodb').MongoClient;
var connect = require('connect'),
bodyParser = require('body-parser')
var ObjectId=require('mongodb').ObjectID;
var BSON = require('mongodb').pure().BSON,
express = require("express"),
app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
// app.use(express.bodyParser());
app.use(express.static(__dirname + '/angular'));
// index.html and Sdistory.html in public folder
app.use(express.static(__dirname + '/public'));
app.get("/",function(req,res){
res.sendFile(__dirname+'/index.html');
});
MongoClient.connect("mongodb://localhost:27017/bhawna", function(err, db) {
if(err) { return console.dir(err); }
var collection2 = db.collection('users');
app.post('/a',function(req,res){
//console.log("hello");
var qqw=req.body.year;
var qqw2=req.body.month;
var qqw3=req.body.day;
collection2.find({'Scheduledtime':(new Date(qqw, (qqw2-1), qqw3)).toLocaleString()}).toArray(function(err,resu)
{
res.end( JSON.stringify(resu));
console.log(resu);
}
);
});
app.post('/',function(req,res){
var searchitem =(req.body.Item).toUpperCase();
var yr=req.body.year;
var moy=req.body.month;
var dom=req.body.day;
var attended=req.body.attended;
collection2.insert({'userd':searchitem,'Scheduledtime':(new Date(yr, (moy-1), dom)).toLocaleString(),'Attended':attended},function(err,result){});
res.setHeader("Access-Control-Allow-Origin","http://localhost:8080/")
re
s.setHeader("Access-Control-Allow-Methods", "GET,POST,PUT,DELETE,OPTIONS");
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
res.redirect('back');
});
});
app.listen(8080,function(){
console.log("It's Started on PORT 8080");
});