我有一个问题,从mongoDB
在sailsJs
检索数据。我想_id
场的纯数组,但它返回JSON对象的数组,这是一样的东西
[
{_id: 'sdfdsr3434redf'},
{_id: '6sdgydewu7fr3'},
...
]
但我想只有像ID列表:
['sdfdsr3434redf', '6sdgydewu7fr3', ...]
代码如下:
let userIDList = await col.find({
$or: [
{permission: 'student'},
{permission: 'staff'}
]
},{ select : ['_id'] }).toArray();
我想一个方法,它的工作原理以及下面(由@atishay_jain)
let userIDList = await col.find({
$or: [
{permission: 'student'},
{permission: 'staff'}
]},{ select : ['_id'] }).toArray();
let final = userIDList.map((v, i) => { return v._id });
console.log(final);
但我需要一些捷径来做到这一点更为重要。提前致谢 :)
如果你想这样做的javascript
。下面的代码。
let userIDList = await col.find({
$or: [
{permission: 'student'},
{permission: 'staff'}
]},{ select : ['_id'] }).toArray();
let final = userIDList.map((v, i) => { return v._id });
console.log(final);
让所有的文件后,你需要通过他们去和分析的价值。
由于数据库查询中提供{键:值},你必须抓住关键的价值。
尝试这个,
let userIDList = [];
await col.find({
$or: [
{ permission: 'student' },
{ permission: 'staff' }
]
},{ select : ['_id'] }).toArray().forEach(function(obj) {
userIDList.push(obj._id)
});
console.log(userIDList);
如果你想这样做的一个命令,你可以试试“独特”的命令。
col.distinct("_id", {
$or: [{permission: 'student'}, {permission: 'staff'}]
})
你可以像下面仅列_id
let userIDList = await col.find({
$or: [
{permission: 'student'},
{permission: 'staff'}
]
},{_id:1}).toArray();