У меня есть две разные коллекции книг и музыки в формате JSON .Первый Даю пример коллекции книг:сравнить две коллекции в MongoDB
{
"_id" : ObjectId("b1"),
"author" : [
"Mary",
],
"title" : "Book1",
}
{
"_id" : ObjectId("b2"),
"author" : [
"Joe",
"Tony",
"Mary"
],
"title" : "Book2",
}
{
"_id" : ObjectId("b3"),
"author" : [
"Joe",
"Mary"
],
"title" : "Book3",
}
.......
Мэри пишет 3 книги, Джо написать 2 книги, Тони пишет 1 книгу. Во-второй я даю пример коллекции музыки:
{
"_id" : ObjectId("m1"),
"author" : [
"Tony"
],
"title" : "Music1",
}
{
"_id" : ObjectId("m2"),
"author" : [
"Joe",
"Tony"
],
"title" : "Music2",
}
.......
Тони имеет 2 Гурджиев, Джо имеет 1 музыку, Мэри 0 музыки.
Я надеюсь получить число авторов, которые пишут больше книг, чем музыку.
Таким образом, Мэри (3> 0) и Джо (2> 1) должны принимать во внимание, но не Тони (1 < 2). Таким образом, конечным результатом должно быть 2 (Мэри и Джо).
записывает следующий код, но не знает, как сравнивать:
db.book.aggregate([
{ $project:{ _id:0, author:1}},
{ $unwind:"$author" },
{$group:{_id:"$author", count:{$sum:1}}}
]
)
db.music.aggregate([
{ $project:{ _id:0, author:1}},
{ $unwind:"$author" },
{$group:{_id:"$author", count:{$sum:1}}}
]
)
ли это до сих пор не так ли? Как сделать следующее сравнение? Благодарю.
Это [также ваша учетная запись] (http://stackoverflow.com/users/5862094/cacao) или вы оба можете работать вместе? Это почти [точный дубликат этого теперь удаленного вопроса] (http://stackoverflow.com/questions/36671480/how-to-compare-between-two-collections-in-mongodb), где единственная разница - это именование одной коллекции '' music ''(по какой-то странной причине), кроме« бумаги », как это было первоначально. Как уже было прокомментировано, это действительно просто «результаты цикла» для сравнения. Если вы хотите что-то более совершенное, тогда вместо этого поместите все данные в «одну» коллекцию. –