@Nguyen-Hien Cảm ơn bạn đã reply.
Ý đồ của mình là lấy giữ liệu của bảng A bằng điều kiện từ dữ liệu của bảng B.
Ví dụ này cho dễ hiểu:
Mình có Schema Post có ref đến User. User có field roles phân quyền admin và member.
Trường hợp mình muốn tìm tất cả các bài Post của các Admin, thì nó giống với ví dụ ở trên.
Mình cũng thử aggregate rồi nhưng vẫn không trả về kết quả đúng.
Mongoose của mình version 4.13.14, ko biết là có bị cũ ko.

Posts made by Acenter Ha
-
RE: [Mongodb] Nhờ giúp đỡ về câu query và sự khác nhau giữa Embedded Document và References Document
-
RE: Lỗi ở middleware pre('save') của mongoose
Có thể sai nhưng bạn thử sửa 1 tý như bên dưới nhé:
ArticleSchema.pre('save', function (next) {
console.log(this);
next();
});Good luck
-
[Mongodb] Nhờ giúp đỡ về câu query và sự khác nhau giữa Embedded Document và References Document
Chào mọi người, chúc mọi người cuối tuần vui vẻ.
Mình có một vấn đề về query data trong mongodb, nhờ mọi người giúp đỡ. Chân thành cảm ơn.
Mình có database như sau:
// Activity
{
"__v": 0,
"_id": { "$oid": "551ecdc03ee254bc0b9eef47" },
"site": { "$oid": "5516b924994330f404694a73" },
delete: false
}// Site
{
"__v": 0,
"_id": { "$oid": "5516b924994330f404694a73" },
"managers": [ '1', '2' ] ,
"name": "Site1",
delete: false
}Mình muốn query Activity, với điều kiện managers của Site bằng 1 array cho trước. Vd:
Activity.find({ 'site.managers': [ '1', '2' ] });
Đúng ra kết quả phải là 1 record, nhưng đằng này nó trả về rỗng.Mình tìm hiểu thì cách ghi 'site.managers' chỉ chạy đúng khi Subdocument là Embedded, còn Ref thì không thể query được.
Mình cũng muốn biết sự khác nhau giữa Embedded Document và References Document là những gì.
Mọi người ai đã gặp vấn đề này rồi thì giúp mình nhé.
Chân thành cảm ơn. -
RE: Search tiếng Việt - mongoose
Đã có bạn nào giải quyết vấn đề này hoàn chỉnh chưa vậy, mình tạo text index thì nó báo là "language override unsupported: vi" lúc save object.
Code tạo text index của mình như sau:
Schema.index({ title: 'text', body: 'text' }, { name: 'My text index', weights: { title: 4, body: 3 }}); -
RE: Nhiều lúc cay cú với angular ghê thật
@thanhtran Cảm ơn bạn đã góp ý.
Vẫn biết là bên react nó có nhiều điểm trội hơn, kể cả angular 2, 4 vẫn pro hơn, nhưng cũng không thể đùng một cái mà nhảy được. Nguyên một đám dự án đã chạy nó rồi, giờ ko thể recreate lại toàn bộ được, chán thật. -
Nhiều lúc cay cú với angular ghê thật
Chẵng là e làm angularjs cũng được 1 thời gian, xài meanjs framework.
Tình yêu với angularjs luôn bị mất đi gần hết mỗi lần gặp phải mất vấn đề sau:- Version nó ra còn lẹ hơn gà đẻ trứng
- Đám dependencies thì nguy cơ confict cao
- Nhiều lúc mấy cái module đính kèm mà bower vẫn báo không tìm thấy bản tương thích
- Có confict là không biết đường nào mà lần, fix đầu này nó vỡ đầu kia, ức chế kinh khủng.
Có thể là do e chưa có kn quản lý cái này, mong là có cao nhân nào đó mách nước e vài đường e còn kiếm cơm.
Chức build project gần hết chức năng vì lý do ko chạy đc 1 dependencie mà build lại thì chắc e chết.Buồn đời dễ sợ.
-
RE: Về việc lấy địa chỉ ip của client trên express nodejs.
@tuanquynet @Khoa-Lê-Duy
Được rồi 2 bạn ạ, mình thay đổi NGINX config thì nhận được rồi.Cảm ơn 2 bạn rất nhiều.
-
RE: Về việc lấy địa chỉ ip của client trên express nodejs.
@tuanquynet Mình đã thử rồi vẫn không được bạn ạ.
Mình nghi là do VPS nó đang tự động redirect về ipv6 tất cả các request.
Không biết có đúng hay không.Thử bằng page My IP mà bạn @Khoa-Lê-Duy gửi thì vẫn show ip bình thường. Test ở local vẫn nhận ip bình thường.
-
RE: Về việc lấy địa chỉ ip của client trên express nodejs.
@Khoa-Lê-Duy
Cảm ơn bạn, mình thử nhiều cách vẫn chỉ trả về ::ffff:127.0.0.1 thôi.
TÌm hiểu thì đây là ipv6, nhưng vì mình dùng ip để lưu thông tin guest nên nếu toàn bộ ip đều là ::ffff:127.0.0.1 thì không có ý nghĩa gì cả. -
Về việc lấy địa chỉ ip của client trên express nodejs.
Mình thử các cách nhưng chỉ có thể lấy được "ffff::127.0.0.1" thôi.
Bạn nào có giải pháp mong được chỉ giáo.
Cảm ơn. -
RE: Refresh trang hoặc sang trang khác vẫn chat được với socket.id đó
Chỗ này có 2 điểm:
- Bạn đang route từ client hay express từ server (nếu bạn xài front end là angular chẵng hạn)
-> nếu đc thì nên dùng ui-route để chuyển trang, ko mất kết nối, nhanh hơn ổn định hơn. (Vì ui-route của angular ko reload vật lý page)
Nếu như phải route bằng express (sever) thì tham khảo cách 2. - Tạo một array (map) lưu trữ id của user và socket id với key là id ủe trên server. Sử dụng id user làm định danh, mất kết nối thì thay socket id mới cho id cũ bằng id của user đó.
- Bạn đang route từ client hay express từ server (nếu bạn xài front end là angular chẵng hạn)
-
RE: Hỏi về Nodemailer trên VPS
@tuanquynet Kết quả là timeout bạn ạ.
netcat: connect to mx1.hostinger.vn port 587 (tcp) failed: Connection timed outMình đã add vps ip vào whitelist trên hostinger rồi, bị cái gì block nhỉ.
Mình cũng allow Firewall cho port 587 rồi. -
RE: Hỏi về Nodemailer trên VPS
@tuanquynet Cảm ơn bạn đã giúp đỡ.
Mình đã check 3 step trên vẫn không được bạn ạ. Ping từ host đến hosting vẫn chạy bt.
Lỗi của Nodemailer như sau:{ Error: Connection timeout
at SMTPConnection._formatError (/usr/local/first/node_modules/nodemailer-smtp-transport/node_modules/smtp-connection/lib/smtp-connection.js:528:15)
at SMTPConnection._onError (/usr/local/first/node_modules/nodemailer-smtp-transport/node_modules/smtp-connection/lib/smtp-connection.js:514:16)
at SMTPConnection.<anonymous> (/usr/local/first/node_modules/nodemailer-smtp-transport/node_modules/smtp-connection/lib/smtp-connection.js:236:14)
at ontimeout (timers.js:386:14)
at tryOnTimeout (timers.js:250:5)
at Timer.listOnTimeout (timers.js:214:5) code: 'ETIMEDOUT', command: 'CONN' }Mình đã thử tạo 1 account google, gửi thì lại được, tuy nhiên mail vào folder Spam.
Liệu còn khả năng nào nữa không bạn?
-
RE: Hỏi về Nodemailer trên VPS
Mình dùng email domain của hostinger, trỏ về VPS của Google.
Dưới môi trường dev mình gửi không vấn đề gì, nhưng khi đưa lên web thì không gửi được. Setting của mình:options: { host: 'mx1.hostinger.vn', port: '587', secure: true, auth: { user: '[email protected]', pass: 'password' } }
Không có lỗi gì xảy ra những server báo 504 gateway timeout.
Có bạn nào đã gặp lỗi này chưa, mong được giúp đỡ. -
Hỏi về Nodemailer trên VPS
Mình dùng nodemailer để gửi mail, test local env ok rồi nhưng khi up lên VPS thì bị timeout không gửi được.
Bạn nào đã gặp hoặc có kinh nghiệm về vấn đề này, mong các bạn chỉ giáo. -
RE: Xin keyword về việc tạo summary (bản xem rút ngắn trên trang chủ) cho post
Rất cảm ơn các bạn, tạm thời mình dùng field summary vì chưa đủ trình đầu tư effort.
Cảm ơn các bạn đã tư vấn -
Xin keyword về việc tạo summary (bản xem rút ngắn trên trang chủ) cho post
Mình làm Mean, nhưng đang bị bí chỗ tạo tóm tắt cho post, đối với post chỉ text thì không sao, nhưng trong post có image, các thẻ html, nên việc cắt string sẽ không chính xác và đẹp.
Rất mong các bạn chỉ giúp mình key word để mình research.
Chân thành cảm ơn. -
RE: MEAN Angular1: về cách hiển thị trên URL
@Khoa-Lê-Duy Cảm ơn bạn rất nhiều vì key word.
Mình đã tìm được thằng monguurl này rồi.
Nó tự tạo slug cho từ title của post, nên chắc có vẻ ổn. -
MEAN Angular1: về cách hiển thị trên URL
Chào các bạn, mình tự nghiên cứu và làm mean cũng được 1 tg ngắn, lâu nay vẫn dùng cách hiển thị cổ điển trên URL là id của object để query data (Cả angular và express đều dùng router ***Id). Nhưng mình quan sát các web kiểu nhưng trang Nodejs này thì đều hiển thị title của article (mình cũng nghĩ việc hiển thị id không tốt lắm, về seo, bảo mật chẵng hạn...)
Nhưng nếu truyền param vào Url là title, thì Mongoose có query chính xác như Id không?
Và nếu ẩn Id đi, chỉ hiển thị title (thực chất là query db bằng Id) thì khi user reload page thủ công sẽ nhận Id như thế nào?Hoặc có một phương pháp khác mà mình không biết, mong các bạn chỉ giáo, chỉ cần key word thôi cũng được.
Rất cảm ơn các bạn.