Вы можете присоединиться к двум коллекциям в Монго, используя поиск, который предлагается в версии 3.2. В вашем случае запрос будет
db.comments.aggregate({
$lookup:{
from:"users",
localField:"uid",
foreignField:"uid",
as:"users_comments"
}
})
, или вы также можете присоединиться к пользователям, тогда будет небольшое изменение, как указано ниже.
db.users.aggregate({
$lookup:{
from:"comments",
localField:"uid",
foreignField:"uid",
as:"users_comments"
}
})
Он будет работать так же, как левое и правое соединение в SQL.
// jQuery
$(".black-p").each(function() {
const $this = $(this);
console.log($this.attr("coin-type"))
});
// Javascript
const xclassget = document.getElementsByClassName('black-p');
for (let i = 0; i < xclassget.length; i++) {
console.log(xclassget[i].getAttribute("coin-type"));
};
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<article class="black-p stacard caading" coin-type="pageingx" coin-name="moonpa" coin-rank="1">
<article class="black-p stacard caading" coin-type="YYYYYYY" coin-name="XXXXXX" coin-rank="Z">
<article class="black-p stacard caading" coin-type="YYYYYYY" coin-name="XXXXXX" coin-rank="Z">
Вот пример без jQuery. Я не совсем уверен, к какому объекту данных вы обращаетесь, но после того, как у вас есть каждый элемент в цикле, нужно извлечь то, что вам нужно.
var xclassget=document.getElementsByClassName('black-p stacard caading');
var attributes = []
Object.keys(xclassget).forEach(function(el) {
var element = xclassget[el]
attributes.push({
'coin-value': element.attributes['coin-type'].value,
'coin-name': element.attributes['coin-name'].value,
'coin-rank': element.attributes['coin-rank'].value,
})
})
console.log(attributes)
Если я правильно понимаю ваши требования, я думаю, что вы можете просто захотеть получить доступ к атрибутам, используя метод getAttribute
.
var xclassget = document.getElementsByClassName('black-p stacard caading');
var nodes = [];
var values = [];
for (var i = 0; i < xclassget.length; i++) {
nodes.push(xclassget[i]);
values.push({
coinType: xclassget[i].getAttribute('coin-type'),
coinName: xclassget[i].getAttribute('coin-name'),
coinRank: xclassget[i].getAttribute('coin-rank')
});
}
console.log(nodes, values);
<article class="black-p stacard caading"
coin-type="pageingx"
coin-name="moonpa"
coin-rank="1">
</article>
<article class="black-p stacard caading"
coin-type="YYYYYYY"
coin-name="XXXXXX"
coin-rank="Z">
</article>
<article class="black-p stacard caading"
coin-type="YYYYYYY"
coin-name="XXXXXX"
coin-rank="Z">
</article>
Основываясь на дополнительных вопросах в комментариях к этому ответу, вы можете манипулировать массивом значений по своему усмотрению. Например, если вы просто хотите получить строковое значение всех имен монет, разделенных запятыми, вы можете сделать следующее:
console.log(values.map(value => value.coinName).join(', '))
Или, если вы хотите сделать строковое значение, разделенное запятыми, как названия и типы монет:
console.log(values.map(value => `CoinName: ${value.coinName} | CoinType: ${value.coinType}`).join(', '))