Mongoose to narzędzie do modelowania obiektów MongoDB lub ODM (Object Document Mapper), napisane w języku JavaScript i zaprojektowane do pracy w środowisku asynchronicznym.
Na przykład ten kod skutkuje utworzeniem kolekcji o nazwie „dane” var Dataset = mongoose.model('data', dataSchema); Ten kod skutkuje utworzeniem kolekcji o nazwie „użytkownicy” var User = mongoose.model('user', dataSchema); Dzięki
Jestem przyzwyczajony do klasycznego OOP, jak w Javie. Jakie są najlepsze praktyki wykonywania OOP w JavaScript przy użyciu NodeJS? Każda klasa to plik z module.export? Jak tworzyć klasy? this.Class = function() { //constructor? var privateField = "" this.publicField = "" var privateMethod = function() {} this.publicMethod = function() {} } …
W poprzednich wersjach Mongoose (dla node.js) istniała możliwość korzystania z niego bez definiowania schematu var collection = mongoose.noSchema(db, "User"); Jednak w obecnej wersji funkcja „noSchema” została usunięta. Moje schematy mogą się często zmieniać i naprawdę nie pasują do zdefiniowanego schematu, więc czy istnieje nowy sposób korzystania z modeli bez schematu …
Ostatnio zacząłem używać MongoDB z Mongoose na Nodejs. Kiedy używam metody Model.find z $orwarunkiem i _idpolem, Mongoose nie działa poprawnie. To nie działa: User.find({ $or: [ { '_id': param }, { 'name': param }, { 'nickname': param } ] }, function(err, docs) { if(!err) res.send(docs); }); Nawiasem mówiąc, jeśli usunę …
Czy Mongoose v3.6 + obsługuje teraz wstawianie wsadowe? Szukałem przez kilka minut, ale wszystko, co pasuje do tego zapytania, ma kilka lat, a odpowiedź była jednoznaczna nie. Edytować: Na przyszłość odpowiedzią jest użycie Model.create(). create()akceptuje tablicę jako pierwszy argument, więc możesz przekazać swoje dokumenty do wstawienia jako tablicę. Zobacz dokumentację …
myModel.find({}, function(err, items) { console.log(items.length); // Big number }); Jak mogę ograniczyć zwracane produkty tylko do ostatnich 10 wstawionych pozycji?
Obecnie mam problemy z utworzeniem schematu dla poniższego dokumentu. Odpowiedź z serwera zawsze zwraca wartości pola „trk” jako [Object]. Jakoś nie mam pojęcia, jak to powinno działać, ponieważ próbowałem przynajmniej wszystkich podejść, które miały dla mnie sens ;-) Jeśli to pomoże, moja wersja Mongoose to 3.6.20 i MongoDB 2.4.7 A …
Chcę usunąć niektóre kolekcje mongodb, ale jest to zadanie asynchroniczne. Kod będzie wyglądał następująco: var mongoose = require('mongoose'); mongoose.connect('mongo://localhost/xxx'); var conn = mongoose.connection; ['aaa','bbb','ccc'].forEach(function(name){ conn.collection(name).drop(function(err) { console.log('dropped'); }); }); console.log('all dropped'); Konsola wyświetla: all dropped dropped dropped dropped Jaki jest najprostszy sposób, aby upewnić się, że all droppedzostanie wydrukowany po …
Właśnie dotarłem do Node.js i zobaczyłem, że istnieje wiele bibliotek, których można używać z MongoDB, najpopularniejsze wydają się być te dwie: (mongoose i mongodb). Czy mogę uzyskać zalety i wady tych rozszerzeń? Czy są lepsze alternatywy dla tych dwóch? Edycja: Znalazłem nową bibliotekę, która wydaje się również interesująca dla węzłów …
Nie wiem, co robię źle, oto mój check.js var db = mongoose.createConnection('localhost', 'event-db'); db.on('error', console.error.bind(console, 'connection error:')); var a1= db.once('open',function(){ var user = mongoose.model('users',{ name:String, email:String, password:String, phone:Number, _enabled:Boolean }); user.find({},{},function (err, users) { mongoose.connection.close(); console.log("Username supplied"+username); //doSomethingHere }) }); a oto mój insert.js var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/event-db') var …
Używam Mongoose z moją aplikacją Node.js i to jest moja konfiguracja: mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false }).then(()=>{ console.log(`connection to database established`) }).catch(err=>{ console.log(`db error ${err.message}`); process.exit(-1) }) ale w konsoli nadal daje mi ostrzeżenie: Przestarzałe Ostrzeżenie: obecny mechanizm wykrywania i monitorowania serwera jest przestarzały i …
jeśli mam dwa schematy takie jak: var userSchema = new Schema({ twittername: String, twitterID: Number, displayName: String, profilePic: String, }); var User = mongoose.model('User') var postSchema = new Schema({ name: String, postedBy: User, //User Model Type dateCreated: Date, comments: [{body:"string", by: mongoose.Schema.Types.ObjectId}], }); Próbowałem połączyć je ze sobą, jak na …
Używam węzła z express + mongoose i próbuję użyć passport.js z restful api. Ciągle otrzymuję ten wyjątek po pomyślnym uwierzytelnieniu (widzę adres zwrotny w przeglądarce): /Users/naorye/dev/naorye/myproj/node_modules/mongoose/lib/utils.js:419 throw err; ^ Error: passport.initialize() middleware not in use at IncomingMessage.req.login.req.logIn (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/http/request.js:30:30) at Context.module.exports.delegate.success (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/middleware/authenticate.js:194:13) at Context.actions.success (/Users/naorye/dev/naorye/myproj/node_modules/passport/lib/passport/context/http/actions.js:21:25) at verified (/Users/naorye/dev/naorye/myproj/node_modules/passport-facebook/node_modules/passport-oauth/lib/passport-oauth/strategies/oauth2.js:133:18) at Promise.module.exports.passport.use.GitHubStrategy.clientID (/Users/naorye/dev/naorye/myproj/config/passport.js:91:24) …
Używam biblioteki Mongoose do uzyskiwania dostępu do MongoDB z node.js. Czy istnieje sposób na usunięcie klucza z dokumentu ? tj. nie tylko ustawić wartość na null, ale ją usunąć? User.findOne({}, function(err, user){ //correctly sets the key to null... but it's still present in the document user.key_to_delete = null; // doesn't …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.