我正在编写一个简单的HTML表单,我试图通过列表和文本字段插入值。但是,当我使用StudentMaster.insert语句时,该语句不会填充任何集合中任何文档的任何字段。它只是创建一个带有id字段的对象。
这是我的代码 -
if(Meteor.isClient){
Template.nameT.events ({
"mousedown #save" : function(event){
event.preventDefault();
StudentMaster.insert({admtype:$('#admtype').value});
StudentMaster.insert({enrollno:$('#enrollno').value});
StudentMaster.insert({thisyradm:$('#thisyradm').value});
},
"click #update" : function(event){
event.preventDefault();
rs = StudentMaster.find();
StudentMaster.insert({'admtype':$('#admtype').toString});
StudentMaster.insert({'enrollno':$('#enrollno').toString});
StudentMaster.insert({'thisyradm':$('#thisyradm').toString});
}
})
}
这是HTML -
<template name="nameT">
<select id = "admtype">
<option>New</option>
<option>Old</option>
</select> <input type="text" placeholder = "Enroll No." id = "enrollno">
<input type="text" placeholder = "This Year Adm" id = "thisyradm"><br>
</template>
<head>
<title>School Project</title>
</head>
<body>
<h1>Welcome to School Project!</h1>
{{> nameT}}
</body>
答案 0 :(得分:1)
您的插入过程是错误的。您的代码基本上在数据库中插入3 rows
。假设您有3个值需要插入数据库。以下代码段将提示您如何假设属性为admtype
,enrollno
和thisyradm
StudentMaster.insert({
admtype:$('#admtype').value,
enrollno:$('#enrollno').value,
thisyradm:$('#thisyradm').value
});
是的insertion
返回一个对象id,它是存储在数据库中的_id
值。
答案 1 :(得分:0)
确保Collection.allow()
Student
收集的admtype
规则允许从客户端插入,因为Meteor Docs说here,
如果您希望enrollno
,thisyradm
和StudentMaster.insert({
admtype:$('#admtype').value,
enrollno:$('#enrollno').value,
thisyradm:$('#thisyradm').value
});
作为单行/文档的属性/列,则必须更改插入代码,如下所示
_id
否则它将创建3个不同的行。
要更新行,我建议您使用该行的Student.insert()
作为Collection.update的选择器。哪个是Student.allow()
函数的返回值。
此处还必须确保Meteor.method
规则允许从客户端进行更新。我不建议从客户端更新集合。最好将服务器端_id
与update_data
和<!DOCTYPE html>
<html lang="en-us">
<head>
<meta charset="UTF-8">
<title>Sample Title by Somebody</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="stylesheets/normalize.css" media="screen">
<link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
<link rel="stylesheet" type="text/css" href="stylesheets/github-light.css" media="screen">
</head>
<body>
<section class="page-header">
<h1 class="project-name">Sample Title</h1>
<h2 class="project-tagline"></h2>
<a href="" class="btn">View on GitHub</a>
<a href="" class="btn">Download .zip</a>
<a href="" class="btn">Download .tar.gz</a>
</section>
一起用作更新集合的参数。