当我们在 Sitecore 中更改构面时,我只是对保存数据的位置感到困惑。这是我的代码
if (Tracker.Current != null && Tracker.Current.IsActive){
Tracker.Current.Session.Identify(Sitecore.Context.User.Name);
var contact = Tracker.Current.Session.Contact;
var contactPersonalInfo = contact.GetFacet<Sitecore.Analytics.Model.Entities.IContactPersonalInfo>("Personal");
contactPersonalInfo.JobTitle = foo.Content;
}
当我将联系人方面的职位更改为“Cook Helper”时,MongoDB 在更新之前花了很长时间。但是在调试已经设置为 Cook Helper 的接触面时。在保存到 MongoDB 之前,数据在哪里?一些临时存储?
最佳答案
您在 Tracker
中存储的所有数据(包括方面)都存储在访问者的 session 中。
当 session 结束时,数据被刷新到 MongoDB。
这减少了对收集数据库的调用次数,但这意味着 session 管理应该尽可能健壮。
更多信息可以在这篇文章中找到:Sitecore Session State and the xDB
关于mongodb - Sitecore 分析跟踪器数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40278265/