Him*_*yal 3 javascript node.js
我正面临mongoose query对象克隆的问题。Javascript将一个对象复制到另一个对象,call-by-ref但是在我的项目中,我需要通过以下方式将一个对象复制到另一个对象:call-by-value.
var query=domain.User.find({
deleted: false,
role: role
})
var query1=query;
Run Code Online (Sandbox Code Playgroud)
我的查询对象中的方案更改未反映在中
query1。我用谷歌搜索并尝试了许多克隆对象的方法,但是它不起作用。查询对象在另一个函数中用于分页,而query1对象用于计数查询。
1.我习惯了Object.clone(query1)错误Object.clone不是函数2.我使用了Object.assign(query1)但它不能正常工作。3.我用了很多其他方法可以帮助我解决这个问题
小智 5
您正在尝试克隆游标,但这不是正确的方法,您可能只需要创建另一个游标
像这样:
var buildQuery = function() {
return domain.User.find({
deleted: false,
role: role
});
};
var query = buildQuery();
var query1 = buildQuery();
Run Code Online (Sandbox Code Playgroud)
使用merge方法的替代解决方案:
const query = domain.User.find({
deleted: false,
role: role
}).skip(10).limit(10)
const countQuery = query.model.find().merge(query).skip(0).limit(0)
const [users, count] = await Promise.all([query, countQuery.count()])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1197 次 |
| 最近记录: |