sách gpt4 ai đã đi

javascript - 是否应该发布 MongoDB 插入/更新/更新/删除?

In lại 作者:可可西里 更新时间:2023-11-01 10:42:51 34 4
mua khóa gpt4 Nike

截至目前,我在\server\publications.js 中有我的 MongoDB“选择”,例如:

Meteor.publish("jobLocations", function () {
return JobLocations.find();
});

...并且正在订阅\client\main.js 中的内容,例如:

Meteor.startup(function() {
Meteor.subscribe("jobLocations");
. . .

...但是我在\both\methods.js 中有我的插入/更新/更新/删除,像这样:

Meteor.methods({
'insertJobLocation': function(username, jobLoc, placename, st8OrProvince, postalcode, xcoord, ycoord) {
JobLocations.insert({
jl_jobloc: jobLoc,
. . .

...我从\client\templates\whatever.js 调用它们,像这样:

'submit form': function(event, template) {
. . .
Meteor.call('insertJobLocation', jobloc, placename, st8OrProvince,
postalcode, xcoord, ycoord, function(err) {
. . .

这行得通,但它是错误的[-headed]吗?

tất cả MongoDB 代码是否应该发布/订阅(IOW,位于\server\publications.js 和\client\main.js?

1 Câu trả lời

根据我的阅读,经验法则是订阅您需要在客户端浏览器上显示的内容。
这将返回 JobLocations 集合中的所有项目/字段,因此如果此集合很大,您可能希望限制使用 query hoặc field 发布的内容> 参数:

Trước:

Meteor.publish("jobLocations", function () {
return JobLocations.find();
});

一旦获得大量数据(或想隐藏敏感数据!):

Meteor.publish("jobLocations", function (jobLocParam) {
var selector = {
jobLoc: {$in: jobLocParam},
}
var options = {
sort: {placename: 1},
fields: {jobLoc: 1, placename: 1},
limit: 20
}
return JobLocations.find(selector, options);
});

所有这些字段都是可选的,但我想我会给你几个例子。 selector 可以只是 {} 如果您想要返回所有内容,并且您可以使用 fields 参数限制发布的字段(也是可选的) .发布也可以采用参数,因此如果您愿意,可以在创建模板时通过发布传递 jobLoc 或它们的数组。

希望对您有所帮助!

关于javascript - 是否应该发布 MongoDB 插入/更新/更新/删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32869591/

34 4 0
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com