Potrzebuje zrobić referencje jeden do wielu w mongoose i nestjs, mam owner i animals

w animals mam:

@Prop({ type: mongoose.Schema.Types.ObjectId, ref: 'Owner' })
owner: mongoose.Types.ObjectId;

ale w żaden sposób nie moge wyciagnąc ownera i referencje zwierząt

this.ownerModel.findOne({name: "juzek"}).populate('animals').exec();

Problem jest taki że w dokumentacji jest opisane to inaczej, w necie ludzie też mają z tym problem i robią to inaczej i też nie działa...

ktoś poradzi ?

#mongodb #mongoose #nestjs #
Co zrobiłem źle? ;/

// Konfiguracja polaczenia z baza danych
const mongoBDConnectionString = 'mongodb://Inus:xys@127.0.0.1:27017/kome?authSource=admin';
mongoose.connect(mongoBDConnectionString, { useNewUrlParser: true, useUnifiedTopology: true });
const db = mongoose.connection;

// Funkcja dodająca wpisy do bazy danych
function addRowDB(arg1, arg2, arg3, arg4){
db.on('error', function(){
console.log('#' + getDateAndTime() + '# Błąd połączenia z bazą danych');
});
db.once('open', function(){
console.log('#' + getDateAndTime() + '# Otwarto połączenie z bazą danych');
// let row;

// Dobranie odpowiedniego schematu rekordu
if (arg1
via Wykop Mobilny (Android)
  • 0
@abraca: hehe, no przyznam, że długo biłem się z tym pytaniem czy to rzeczywiście miałoby sens ;)
Ale ogólnie do NodeJS zalecali mongo, więc wykorzystałem
Potrzebuję waszych mądrych głów do rozwiązania dość nietypowego problemu, pytanie zadałem na 4programmers.net ze względu na kolorowanie skryptu, tam znajdziecie wszystkie szczegóły.

W skrócie baza działa poprawnie, zwraca poprawny wynik, tak samo funkcja sortująca nest() działa poprawnie ale tylko z statycznymi danymi, ale gdy baza wysyła dane do funkcji nest() nie wyświetla poprawnych danych.

#programowanie #javascript #mongodb #mongoose #nodejs
Mireczki dlaczego skoro spełnia się warunek w ifie, to else zostaje wykonany? Za kazdym razem pojawiam mi sie w konsoli tej pytajnik z console.loga.

User.find(query).then(doc => {

doc[0].water.map(el => {

if (el.date === time) {
el.quantity = el.quantity + req.body.waterQuantity;
doc[0].save()
.then(() => {
res.send('added');
})
.catch(() => res.status(404))
} else {
console.log('?')
}
})
});

#programowanie #javascript #mongodb #mongoose #nodejs #express #webdev
Mirki, jest sobie baza ze schematem, który w dużym uproszczeniu wygląda tak:

ASchema({ name: String }) // model A
BSchema({ x: String, y: [{ type: Schema.Types.ObjectId, ref: 'A' }] }) // model B

Teraz potrzebuję pobrać wszystkie obiekty B, które pod tablicą y zawierają obiekty A z konkretną wartością pola name. Wychodzi na to, że musiałbym wykonać najpierw .populate('y'), a dopiero potem przeszukać kolekcję pod potrzebnym mi kątem. Jak to
@Tojtek: tl;dr Nie da się tego zrobić bez filtrowania.


ModelB.find()
.populate({
path: 'y',
match: { name: 'Tojtek' }
})
.exec()
.then(users => {
users = users.filter(doc => {
return doc.y !== null;
});
console.log(users);
})
.catch(err => {
console.log(err);
});

#programowanie #nodejs #mongoose

Mam mały problem. Chcę utworzyć w bazie danych notatki. Każda z tych notatek będzie miała jakieś tam swoje tagi. Jako że od użytkownika otrzymam je w formie jednego stringa (np. "csharp konfiguracja wskazowki"), to muszę je napierw rozdzielić po czym przypisać do nich konkretne obiekty Tag.
[[#1 Tu jest model notatki]](http://pastebin.com/hLVTR7vi)
[[#2 Tu model taga]](http://pastebin.com/YCSubBzk)
[[#3 Tu jak tworzę nową notatkę]](http://pastebin.com/1edbr7uZ) (funkcja wykonuje się po wysłaniu
Pytanie mam do wykopowych ekspertów #programowanie #nodejs #mongodb #mongoose

Otóż mam [[taki oto schemat]](http://pastebin.com/Z4r4GpUn) i utworzyłem w nim wirtualną zmienną która nazywa się "authorUserName". Ma ona za zadanie znaleźć w bazie danych użytkownika którego ID jest zapisane w bazie.

Problem polega na tym, że funkcja "findById" jest asynchroniczna. To znaczy, że ta zmienna wirtualna zwróci sobie wartość null, a dopiero po pewnym czasie przyjdzie radosny callback że oto z bazy danych
@Pietrek558:
Nie nastawiaj się na typowe plebszenie w rodzaju "używam 5 frameworków i albo one coś mają, albo mam biblioteki, albo ni umim". Może i programiści JS jeszcze mniej wiedzą, co u licha robią, niż programiści innych języków, ale to nie znaczy, że brak samodzielnego myślenia wychodzi nam na dobre.

Robienie aplikacji nie polega na składaniu dużych, gotowych klocków. Za to sporo tam... składania małych klocków.

@archlinuxuser dobrze Ci w sumie
#nodejs #javascript #mongoose
mircy, mam taki problem, że używam Collection.save(); w wielu miejscach w routingu i hula. Tylko w jednym miejscu nie. Absolutnie niczym się nie różni, żadnej literówki nie ma, jest nazwa = new Collection({Obiekt}); Obiekt idealnie spełnia warunki modelu. Jedyna kwestia, że routingi mam na module.exports w oddzielnych plikach, a ten jeden jest jeszcze raz zagnieżdżony. (model jest na required wszedzie). Wywala sie, ze obiekt has no save fn.
(
@MirkoStats: wiem, sorki pisałem z telefonu i zastanawiałem się czy nie zaczekać aż dotrę do kompa...
error:
/dev/sth-srv/app/services/notify.js:23
Notify.save(function() {
^
TypeError: Object function model(doc, fields, skipId) {
if (!(this instanceof model))

przkeazywany obiekt (data specjalnie zamieniona na stringa i w modelu też, żeby mieć pewnośc, że to nie tu problem)
{ type: 'vote',
date: 'Sat Feb 21 2015 11:33:58 GMT+0100 (CET)',
what: 'asdgf12',
who: 'demouser',
status: 1,
to: 'demouser' }