Expiry for getMulti?


#1

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.


#2

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() {});