Co combined with mongoose asynchronous query always returns an undefined result?

  node.js, question

Using mongoose callback method can correctly return the result

UserModel.find({name: 'test'},function(err, data) {
 console.log(data);
 });

The result obtained using co is always undefined

co(function*() {
 yield UserModel.find({name: 'test'}).exec();
 }).then(function (users) {
 console.log(users);
 }, function (err) {
 console.error(err);
 });

The environment is nodev4.1.0, cov4.6.0, mongoose v4.1.7
Please help us to see what is going on, thank you!

return yield UserModel.find({name: 'test'}).exec();