3 回答
TA贡献1830条经验 获得超9个赞
这可以通过几种不同的方式完成,其中最好的方法是使用不同的方式:
db.collection.distinct("toUser")
输出将是:
[
'5ed9d49c7e516616600eb693',
'5ed9d49c7e516616600eb693',
'5ed9d49c7e516616600eb693',
'5ed9d3897e516616600eb692'
]
TA贡献1803条经验 获得超6个赞
您可以使用 和 内部回调检查对象是否有任何键使用和长度。如果它有k,则将使用的值推入累加器数组reduceObject.keysObject.values
let data = [{},
{
toUser: '5ed9d49c7e516616600eb693'
},
{
toUser: '5ed9d49c7e516616600eb693'
},
{
toUser: '5ed9d49c7e516616600eb693'
},
{
toUser: '5ed9d3897e516616600eb692'
}
];
let filterdValue = data.reduce((acc, curr) => {
const objKey = Object.keys(curr);
if (objKey.length > 0) {
acc.push(...Object.values(curr))
}
return acc;
}, []);
console.log(filterdValue)
TA贡献2065条经验 获得超13个赞
可以使用以下查询将对象转换为字符串
> db.objectidToStringDemo.aggregate([{$project: {toUser: {$toString: "$toUser"}}}]);
添加回答
举报