Expiry for getMulti?


Is there no way to do a touch and get with getMulti? According to the docs, the (singular) get method has “format” and “expiry” as possible options but getMulti has “format” and “spooled”.

What’s the point of a non-spooled option anyway? If you want separate callbacks for each document, why not just loop through the (singular) get method? The way that it’s currently designed leaves ambiguity for a type safe system like TypeScript when it comes to what type of callback function is actually going to be called. A KeyCallback is called if options.spooled equals false, but a MultiCallback is called if options.spooled equals true. This makes it impossible for IDE’s to work with these methods.


After doing some testing, expiry does work for getMulti. Note that the documentation says that the options are in the format of “Object.{string, Object}” for getMulti, but they are actually in the format of “Object”.

// This is correct
cb.getMulti([“doc1”, “doc2”], {expiry: 3600}, function() {});

// This is WRONG
cb.getMulti([“doc1”,“doc2”], {“doc1”: {expiry: 3600}, “doc2”: {expiry: 3600}}, function() {});