Using MongoDB in node. JS is a mongoose.Suppose there is a definition of the following mongoose schemas:var New Mongoose. Schema ({ biz:string, name:string, tradetype:string, totalfee:number, transactionid:string, createtime: { type:date, default: Date.now }, updatetime: { Type:date, default: Date.now }}, { false});We want to save the model data with
Data Relationship mapping: ORMO:objectR:relationM:mappingThe operation of the database is the equivalent of manipulating the database by encapsulating it into the object and manipulating the object.Installation:NPM Install MongooseUsage examples:Const Mongoose=require (' Mongoose ')1. Connect to the databaseMongoose.connect (' mongodb://127.0.0.1:27017/edu ')2. Design the model structureConst Catschema=
There is no join feature in MongoDB, so joins and associated queries cannot be used with joins, the populate method is encapsulated in mongoose, and the field (property) can be specified as a reference to another schema when defining a schema. When querying a document, you can use the Populate method to find the specified field value for another document or document that is associated by referencing the Schema and ID. Here is a simple chestnut:"Scene"
Plug - insSchemas are pluggable, that is, they can apply pre-packaged capabilities to extend their functionality. This is a very powerful feature.Suppose we have several collection in our database, to add the last-modified functionality to them. It's easy to use plugins. Just create a plug-in and apply it to each schema://Lastmod.jsModule.exports = exports =functionlastmodifiedplugin (schema, options) {Schema.add ({lastmod:date}) Schema.pre (' Save ',function(next) { This. Lastmod =NewDate Next
Models is a constructor that is compiled from the Schema definition. Examples of these model represent documents that can be stored and retrieved from the database. All document creation and retrieval in the database is handled by these model.1. Compile the first modelvar New Mongoose. Schema ({name: ' string ', Size: ' String ' }); var Tank = Mongoose.model (' Tank ', schema);The first parameter is the singular name of the model corresponding to the
Tags: cno mongodb no pretty expr established name mode TPS Operate with MongoDB via Mongoose. The mongoose is created by the model to create the corresponding collection in MongoDB, so that you pass the following code: mongoose.model(‘User‘, UserSchema); When creating a collection in the corresponding database, the first reaction will certainly infer that a ' User ' collection, but the fact is completely di
All calls to Nodejs are almost completely asynchronous, and all IO operations are known by callback functions. If an asynchronous call relies on another asynchronous call, it is possible to fall into the legendary callback hell if there is no promise.Bluebird implements the transformation of asynchronous callbacks into chained notation, and extends the APIs such as catch, finally, bind, and so on, which can help us focus on the error of each query.The information about promise and Bluebird found
1. IntroThe Mongoose schema supports data in object format, often with a bunch of potentially indefinite metadata or configuration information in the field. If the user table has 3 fields:
Email: User Email
Password: User password
Meta: User meta information, because currently uncertain, the definition of type object, you can put the user nickname, age, QQ number, login registration time and so on
To manipulate the Meta field design to the field o
Reprinted Please note:Theviper http://www.cnblogs.com/TheViper
Let's take a look at the following example.
This. login = function *(){....... VaR q = usermodel. findone ({Email: name, PWD: Pwd}); q. select ('_ id'); q.exe C (function (ERR, ID) {If (ERR) return handleerror (ERR); this. body = ID ;});}
This is an Ajax login, but the response will return not found.
The crux of the problem is that no response is returned. Why is no response returned?
This is also quite easy to understand. Becau
Document can be retrieved through some model static helper methods.Any model method that involves specifying a query condition can be executed in two ways.When a callback function:is passed, the operation executes immediately and the result is passed to the callback.is not passed, returns a query instance, which provides a special query generation interface.In Mongoose 4,Query has the then () function, so it can be used as a promise.When a query is ex
1. How to start the MongoDB databaseReference Address: http://www.runoob.com/mongodb/mongodb-window-install.htmlIn the location of the database installation, the Bin folder, enter Mongod--dbpath d:\data\dbD:\data\db is the folder where the data is saved2. Code1 varMongoose=require ('Mongoose');2 3 //connecting to a database4Mongoose.connect ('Mongodb://localhost/shu');5 //Create schema6 varSchema=Mongoose.
No nonsense, direct----------------------。 If your application uses only one database, you should use Mongoose.connect. If you need to create additional connections, use Mongoose.createconnection. var mongoose = require (' Mongoose '); Mongoose.connect (Mongodb://localhost/chihuo);The Mongoose.createconnection return value is a new connection. If you open a separate connection using mongoose.createconnectio
Nodejs, who started this week in Monday, has been studying for 5 days, and it's been a rookie period, and I've seen a lot of unexpected pits and lots of nodejs. Their content is too old for 2011-2013 years. Many statements module code framework is not used in a lot of pits through my Kind of pits pit pit finally made a very simple and practical express new version of the +mongoose and additions and deletions to the novice is very helpful code is 2015.
A problem that can be easily encountered when querying all the results of a document using Mongoose Articlecontents.getall = function (name, callback) { var query = {}; if (name) { query.name = name; } Articlecontentsmodel.find (///four parameters, where the second cannot be omitted (the second parameter is the result set to query out which document structure is included) Query,null, { so
1 /********** User table by Jaysir 2015.6.212 ***********3 *********** can search the following keywords to view the features that are not implemented4 *********** 5 *********** TODO: Not completed6 *********** Done: Completed7 *********** totest: Pending Test8 *********** notest: no test required9 *********** Waiting: function to be determinedTen *********** One *********** Interface: (not implemented to add groups, change the group of Friends and other functions) A *********** findonebyemai
Remember the following points before you begin
validation defined in SchemaType
Validation is an internal middleware
Validation occurs before document is to be save
Validation does not occur on null values unless the corresponding field is added with required validator
You can customize the validator
Built-in Validator
All SchemaType have required validators.
Number has min and Max validators
String has enum and match validator
Custom Validator
The restfull routes are as follows:Router.get ('/:id ', controller.show);The Mongoes code is as follows:function (req, res) { function ( err, notice){if(err) { Res.json ({no: 0,msg: ' Get failed: ' +err} '; } Else { var result = {no:1}; Result.obj=notice; Res.json (result); } );};Client Access:Http://192.168.0.165:9000/api/notices/11The printing results are as follows;{"no": 0,"msg": "Get failed: Casterror:cast to ObjectId failed for value \" 11\ "at path \" _id\
Label:Nodejs operation MongoDB can use Mongoose:Mongoose is a MongoDB object modeling tool designed to work in an asynchronous environment.Install Mongoose:NPM Install MongooseGet MongoDB Connectionvar conn = mongoose.connect (' mongodb://localhost/mytest ');var Schema = Mongoose. Schema, ObjectId = Schema.objectid;var person = new Schema ({Title: {type:string}, age: {type:number, Min:5, max:20}, Meta: {Likes: [String], Birth: {type:date}}});var p = m
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.