hi StackOverflow社区我在截取这段代码进行单元测试时遇到问题它是对mongo的嵌套promise调用,用于创建用户,然后从数据库中检索用户
return database.collection('users').insertOne(request.body)
.then(response => database.collection('users')
.find({_id:response.insertedId })
.limit(1)
.next());
你能告诉我最好的方法吗我最好将调用分离到它们自己的函数中,还是。。。
感谢
如果您一次创建一个用户,请使用create
方法。它返回创建的对象return database.collection('users').create(request.body)
如果我正确理解你,我会把它放在这样的函数中:
const dbOperations = {
saveUser: (request) => database.collection('users').insertOne(request.body)
.then(response => database.collection('users')
.find({_id:response.insertedId })
.limit(1)
.next());
}
然后你可以像一样重新申报
dbOperations.saveUser = (request) => Promise.resolve(request.body);
这就是你想要的吗?