fix data population

This commit is contained in:
Leonardo Venturini
2024-10-23 09:01:52 -04:00
parent 252a91cd19
commit bc3f469571
2 changed files with 34 additions and 31 deletions

View File

@@ -334,38 +334,41 @@ if (Meteor.isServer) {
One = new Mongo.Collection('collectionOne');
Two = new Mongo.Collection('collectionTwo');
Meteor.startup(async () => {
if (Meteor.isServer) {
await One.removeAsync({});
await One.insertAsync({ name: 'value1' });
await One.insertAsync({ name: 'value2' });
async function populateDatabase() {
await One.removeAsync({});
await One.insertAsync({ name: 'value1' });
await One.insertAsync({ name: 'value2' });
await Two.removeAsync({});
await Two.insertAsync({ name: 'value3' });
await Two.insertAsync({ name: 'value4' });
await Two.insertAsync({ name: 'value5' });
await Two.removeAsync({});
await Two.insertAsync({ name: 'value3' });
await Two.insertAsync({ name: 'value4' });
await Two.insertAsync({ name: 'value5' });
}
Meteor.publish('multiPublish', function(options) {
// See below to see what options are accepted.
check(options, Object);
if (options.normal) {
return [One.find(), Two.find()];
} else if (options.dup) {
// Suppress the log of the expected internal error.
Meteor._suppress_log(1);
return [
One.find(),
One.find({ name: 'value2' }), // multiple cursors for one collection - error
Two.find(),
];
} else if (options.notCursor) {
// Suppress the log of the expected internal error.
Meteor._suppress_log(1);
return [One.find(), 'not a cursor', Two.find()];
} else throw 'unexpected options';
});
}
});
if (Meteor.isServer) {
Meteor.publish('multiPublish', async function (options) {
// See below to see what options are accepted.
check(options, Object);
await populateDatabase();
if (options.normal) {
return [One.find(), Two.find()];
} else if (options.dup) {
// Suppress the log of the expected internal error.
Meteor._suppress_log(1);
return [
One.find(),
One.find({ name: 'value2' }), // multiple cursors for one collection - error
Two.find(),
];
} else if (options.notCursor) {
// Suppress the log of the expected internal error.
Meteor._suppress_log(1);
return [One.find(), 'not a cursor', Two.find()];
} else throw 'unexpected options';
});
}
/// Helper for "livedata - result by value"
const resultByValueArrays = Object.create(null);

View File

@@ -43,7 +43,7 @@ Meteor.methods({
const collections = await MongoInternals.defaultRemoteCollectionDriver().mongo.db.collections();
for (const collection of collections) {
await collection.drop();
await collection.deleteMany({});
}
this.unblock();