我正在创建一个订单表格和一个为订单定义的模式(某些必填字段,如地址、客户信息、所选项目及其数量等)。
一个。用户访问网站。
湾。为其会话生成唯一 ID 以及时间戳。
var userSession = {
_id: createId(),
timestamp: new Date(),
};
var sessionId = userSession._id;
C。被userSession
放置在本地存储中。
storeInLocalStorage('blahblah', sessionObject);
d。到目前为止,使用 sessionId 作为唯一字段创建了一个 Order 对象。
var newOrder = {
sessionId: sessionId;
};
e. 显然,此时 Order 对象不会根据架构进行验证,因此我无法将其存储在 Mongo 中。但我仍然想将它存储在 Mongo 中,以便以后可以使用用户首次访问时生成的 sessionID 检索不完整的订单或正在进行的订单。
这不起作用,因为它验证失败:
Orders.insert(newOrder);
F。当用户重新访问该站点时,我希望能够从 Mongo 获得不完整的订单并恢复:
var sessionId = getLocalStorage('blahblah')._id;
var incompleteOrder = Orders.findOne({'sessionId', sessionId});
所以我不确定在完成这些要点的同时如何去做。
当用户在表单上输入项目以及用户打算提交完整、完整的订单时,我希望
simpleschema
对集合进行全面验证。Orders
我想禁用
simpleschema
对Orders
集合的验证并仍然允许存储到数据库中,以便可以存储部分订单以供以后恢复。
我可以在此处使用此设置有条件地需要一个字段,但这意味着仅在这种情况下将有条件地需要 50 多个字段,这看起来非常麻烦。