GithubHelp home page GithubHelp logo

Comments (4)

Herteby avatar Herteby commented on May 24, 2024

It might be a bit unclear, but "one" and "inverse" are actually many-to-one (with "one", a parent can only have one child, but many parents could have the same child).

"many" and "many-inverse" are many-to-many. Which one to use depends on if you're storing the _ids on the children or the parents.

There are 5 update hooks: parent.insert, parent.update, child.insert, child.update and child.remove

Basically you should always be able to rely on the caches being updated no matter what you do. If they're not, that should be considered a bug.

Caches are updated immediately and synchronously, so you could do:

Posts.insert({_id:'post1', authorId:'user1'})
Posts.findOne('post1').author //will contain the cached user

There is one exception: the cacheField() update is always deferred, to work properly with "recursive caching"

from denormalize.

chathuraa avatar chathuraa commented on May 24, 2024

Hey Simon,

I'm struggling to get this working, I might be missing something. This is my code. What am I doing wrong?

import Allocations from '../api/allocations';

const Appointments = new Mongo.Collection('appointments');
// Appointments.attachSchema(AppointmentsFullSchema);
if (Meteor.isServer) {
  Appointments._ensureIndex({
    workorderNo: 1,
    extWorkorderRef1: 1,
    extWorkorderRef2: 1,
  });
  Meteor.publish('appointments', () => Appointments.find({}));
  Appointments.cache({
    type: 'one',
    collection: Allocations,
    fields: ['_id', 'date', 'from', 'to'],
    referenceField: 'appointmentId',
    cacheField: '_scheduledFor',
    bypassSchema: true,
  });
}

from denormalize.

Herteby avatar Herteby commented on May 24, 2024

Since the referenceField is "appointmentId", I'm guessing this is actually an "inverse" relationship?

from denormalize.

chathuraa avatar chathuraa commented on May 24, 2024

from denormalize.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.